Bug 63373

Summary: REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
Product: WebKit Reporter: Dimitri Glazkov (Google) <dglazkov>
Component: CSSAssignee: Dimitri Glazkov (Google) <dglazkov>
Severity: Normal CC: dglazkov, koivisto, morrita, rolandsteiner, tkent, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Description Flags
darin: review+, webkit.review.bot: commit-queue-
Archive of layout-test-results from ec2-cr-linux-01 none

Description Dimitri Glazkov (Google) 2011-06-24 19:30:44 PDT
Originally reported here: http://crbug.com/86595

Turns out, when building a parent stack frame in CSSStyleSelector, we inadvertently empty out the identifier list for all shadow DOM elements. The fix is to employ shadow DOM-aware traversal, rather than using parentElement.
Comment 1 Dimitri Glazkov (Google) 2011-06-24 20:14:12 PDT
Created attachment 98572 [details]
Comment 2 WebKit Review Bot 2011-06-24 20:56:31 PDT
Comment on attachment 98572 [details]

Attachment 98572 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8936642

New failing tests:
Comment 3 WebKit Review Bot 2011-06-24 20:56:36 PDT
Created attachment 98574 [details]
Archive of layout-test-results from ec2-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-01  Port: Chromium  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 4 Dimitri Glazkov (Google) 2011-06-25 10:04:30 PDT
Comment on attachment 98572 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=98572&action=review

> Source/WebCore/css/CSSStyleSelector.cpp:669
> +    } else if (!parent->parentOrHostNode()) {

This should've been parentOrHostElement. Fixed on landing.
Comment 5 Dimitri Glazkov (Google) 2011-06-25 10:04:48 PDT
Committed r89742: <http://trac.webkit.org/changeset/89742>