I'm seeing some weird Shadow DOM styling inconsistencies between Chrome 36 
Stable and Chrome Canary. Given this setup:

  <multiple-shadows>
    <h5 class="match">Matches</h5>
    <h5>Doesn't Match</h5>
  </multiple-shadows>

  <script>
    var host = document.querySelector('multiple-shadows');
    host.createShadowRoot().innerHTML = '\
      <style> \
        ::content :not(.match) { \
          display: none; \
        } \
      </style> \
      <h4>Second-level shadow</h4> \
      <content></content> \
    ';
    host.createShadowRoot().innerHTML = '\
      <h4>First-level shadow</h4> \
      <shadow></shadow> \
    ';
  </script>

Canary renders as expected, producing:

First-level shadow

Second-level shadow

Matches

Chrome 36, however, gives:

First-level shadow

Matches

If I prefix the '::content' selector with 'content' ('content::content'), 
however, then it works as in Canary. It looks like the styles that the 
first (older) shadow root brings are being executed in the context of the 
second shadow root *and* are applying to things coming through its <shadow> 
tag (which is why forcing the CSS to only apply to <content> tags fixes the 
symptom).

Is this a bug? Or is this known old functionality that has been changed in 
Canary?

Here's the jsbin. <http://jsbin.com/titogaya/1/edit> And here's same 
problem using Polymer <http://jsbin.com/tiwivoyu/1/edit> (sometimes you 
have to click "Run with JS" after the page loads for platform.js to load 
correctly).

Note: This is not caused by the :not() selector. If you remove it and add 
the match class to the <h4>, the <h4> still gets hidden.

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/36efbaad-d5ec-4003-8292-b6d9ea9414fa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to