[Bug 22980] [Shadow]: shadowRoot styles should not match the host element

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22980

--- Comment #8 from Tab Atkins Jr. <jackalmage@gmail.com> ---
(In reply to comment #7)
> Can't you add a layer of sugar? Host is in the set by default. In the
> (possibly unwriteable) primitives there's :except-host which removes host
> from the set.
> 
> In the sugared layer, every rule is desugared to add :except-host. Unless
> the rule contains :host. Then it the desugaring just removes :host (because
> it is not primitive syntax, because it violates those things you were
> worried about) and hence host remains in the set.

We don't desugar CSS yet (beyond conceptual explanations), so this probably
won't fly.  Plus, it's just a way to pretend that we're not making :host
magical. :/

Look, if this is *actually* something you want, then what you're doing is
changing the context the selector is evaluated in.  That means removing the
host from the set of elements normally, and having an at-rule - @host - which
adds it back for its contained selectors.  (Or the other way around,
obviously.)

Or, we can just assume that we'll actually add CSS Nesting at some point, and
live with the fact that wrapping rules in an ":host {...}" will protect you:

:host {
  .foo { /* won't accidentally select the host */ }
  #bar { /* this either */ }
}

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Wednesday, 21 August 2013 14:22:33 UTC