Bug 119865

Summary: Parent pointer and shadow root host pointer should not be shared
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: allan.jensen, buildbot, cmarcelo, commit-queue, d-r, eric.carlson, esprehn+autocc, fmalita, glenn, gtk-ews, jer.noble, kangil.han, kling, kondapallykalyan, macpherson, menard, pdr, rniwa, schenney, simon.fraser, webkit-ews, xan.lopez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
kling: review+, webkit-ews: commit-queue-
more release build friendly version webkit-ews: commit-queue-

Description Antti Koivisto 2013-08-15 14:24:33 PDT
Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that want to traverse element ancestors. It is especially important in selector matching.
Comment 1 Antti Koivisto 2013-08-15 14:44:39 PDT
Created attachment 208859 [details]
patch
Comment 2 Early Warning System Bot 2013-08-15 15:03:07 PDT
Comment on attachment 208859 [details]
patch

Attachment 208859 [details] did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1469316
Comment 3 Early Warning System Bot 2013-08-15 15:17:00 PDT
Comment on attachment 208859 [details]
patch

Attachment 208859 [details] did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1462590
Comment 4 Build Bot 2013-08-15 15:31:42 PDT
Comment on attachment 208859 [details]
patch

Attachment 208859 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1467370
Comment 5 Build Bot 2013-08-15 15:43:00 PDT
Comment on attachment 208859 [details]
patch

Attachment 208859 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1470331
Comment 6 kov's GTK+ EWS bot 2013-08-15 15:53:32 PDT
Comment on attachment 208859 [details]
patch

Attachment 208859 [details] did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/1470336
Comment 7 Antti Koivisto 2013-08-15 17:37:25 PDT
Created attachment 208871 [details]
more release build friendly version
Comment 8 Early Warning System Bot 2013-08-15 19:56:49 PDT
Comment on attachment 208871 [details]
more release build friendly version

Attachment 208871 [details] did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1467431
Comment 9 Antti Koivisto 2013-08-15 23:33:01 PDT
http://trac.webkit.org/changeset/154165