Bug 138529

Summary: Call faster HTMLElement::hasTagName() in HTMLCollection
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: DOMAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, esprehn+autocc, gyuyoung.kim, koivisto, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Chris Dumez
Reported 2014-11-07 17:31:29 PST
Call faster HTMLElement::hasTagName() in HTMLCollection instead of slower Node::hasTagName().
Attachments
Patch (3.52 KB, patch)
2014-11-08 10:05 PST, Chris Dumez
no flags
Patch (3.39 KB, patch)
2014-11-08 20:52 PST, Chris Dumez
no flags
Patch (3.54 KB, patch)
2014-11-08 21:13 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2014-11-08 10:05:51 PST
Darin Adler
Comment 2 2014-11-08 13:49:18 PST
Comment on attachment 241230 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=241230&action=review > Source/WebCore/html/HTMLCollection.cpp:172 > +inline bool isMatchingHTMLElement(const HTMLCollection& htmlCollection, HTMLElement& element) I would suggest renaming the argument "collection" instead of "htmlCollection". > Source/WebCore/html/HTMLCollection.cpp:209 > return static_cast<const DocumentNameCollection&>(htmlCollection).elementMatches(element); Seems like we want checked casts for these some day. > Source/WebCore/html/HTMLCollection.cpp:221 > +inline bool isMatchingElement(const HTMLCollection& htmlCollection, Element& element) I would suggest renaming the argument "collection" instead of "htmlCollection". > Source/WebCore/html/HTMLCollection.cpp:229 > + return static_cast<const WindowNameCollection&>(htmlCollection).elementMatches(element); Seems like we want checked casts for these some day. > Source/WebCore/html/HTMLCollection.cpp:235 > + // Collection types that only deal with HTMLElements. > + return is<HTMLElement>(element) && isMatchingHTMLElement(htmlCollection, downcast<HTMLElement>(element)); Why not put this code inside the default rather than using "default: break"?
Chris Dumez
Comment 3 2014-11-08 17:19:06 PST
Comment on attachment 241230 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=241230&action=review >> Source/WebCore/html/HTMLCollection.cpp:209 >> return static_cast<const DocumentNameCollection&>(htmlCollection).elementMatches(element); > > Seems like we want checked casts for these some day. Definitely, this is already on my todo list.
Chris Dumez
Comment 4 2014-11-08 20:52:28 PST
Chris Dumez
Comment 5 2014-11-08 21:13:25 PST
WebKit Commit Bot
Comment 6 2014-11-08 21:59:55 PST
Comment on attachment 241248 [details] Patch Clearing flags on attachment: 241248 Committed r175788: <http://trac.webkit.org/changeset/175788>
WebKit Commit Bot
Comment 7 2014-11-08 21:59:59 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.