Devirtualize isHTMLUnknownElement().
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Apr 2014 21:33:19 +0000 (21:33 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Apr 2014 21:33:19 +0000 (21:33 +0000)
commit7dfcad715cc1f88ff83c0be24c81eadbf424b4cb
treec779486c3c0a5c7960e7e0e751921a21ba88c190
parent2f867cd11476149bb808cbb80fb900359119a339
Devirtualize isHTMLUnknownElement().
<https://webkit.org/b/131269>

We were hitting isHTMLUnknownElement() pretty hard when marking
out-of-document Nodes. (The check is part of isHTMLAudioElement()
which is called by JSNodeOwner::isReachableFromOpaqueRoots().)

This patch uses a Node flag for the unknown element instead.
I'm also adding HTMLUnknownElement.{h,idl} to the Xcode project
since they were suspiciously missing.

Reviewed by Benjamin Poulain.

* WebCore.xcodeproj/project.pbxproj:
* dom/Node.h:
* html/HTMLElement.h:
(WebCore::HTMLElement::isHTMLUnknownElement):
* html/HTMLUnknownElement.h:
(WebCore::toHTMLUnknownElement): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/dom/Node.h
Source/WebCore/html/HTMLElement.h
Source/WebCore/html/HTMLUnknownElement.h