- From: Roland Steiner <rolandsteiner@chromium.org>
- Date: Thu, 8 Mar 2012 15:25:56 +0900
- To: Boris Zbarsky <bzbarsky@mit.edu>, www-style@w3.org
- Message-ID: <CACFPSpjSXx3W6LUAXpdJS4yi7=xenXDP_jT5T_0PEba3wXGo8Q@mail.gmail.com>
On Thu, Mar 8, 2012 at 14:33, Boris Zbarsky <bzbarsky@mit.edu> wrote: > On 3/7/12 11:45 PM, Roland Steiner wrote: > >> On Thu, Mar 8, 2012 at 08:50, Tab Atkins Jr. <jackalmage@gmail.com >> <mailto:jackalmage@gmail.com>> wrote: >> >> Everything you need should already be there - just add the concept of >> 'scope' to the author origin, such that for any two scoped styles A >> and B, if B's scoping element is a descendant of A's scoping element, >> B's styles have a higher weight than A's styles. (If A and B don't >> have an ancestor/descendant relationship, the relative weighting is >> undefined, but they can't ever apply to the same elements anyway. >> Note: we should make sure this invariant remains true.) >> >> >> FWIW, one case where this invariant may be violated is with XBL's >> 'apply-binding-sheets'. >> > > I think for the apply-binding-sheets case we should treat the relevant > scoped stylesheets as having the bound element or the anonymous tree root > as a parent (which would sort of match what they are scoped to). Just to clarify, I mean this case: <div class="bound"> <style scoped> pre { color: green; } </style> <pre> Text </pre> </div> where the <div> is bound to: #ShadowRoot <style scoped> pre { color: blue; } </style scoped> <content apply-binding-sheets/> In this case, both <style scoped> could be considered "siblings", both hanging off the host <div> element, but both affecting the <pre>. IMHO - and this may be what you're saying - this should be resolved by looking at the final flattened tree: <div class="bound"> <style scoped> pre { color: green; } </style> #ShadowRoot <style scoped> pre { color: blue; } </style scoped> <content apply-binding-sheets> <pre> Text </pre> So the text would be blue. The caveat here being that <style> elements need to be considered exempt from being "captured" by <content> elements - i.e., not moved in the final flattened tree (not having a renderer, that may go without saying). - Roland
Received on Thursday, 8 March 2012 06:27:11 UTC