[Bug 17591] [Shadow]: Should insertion point nodes have styles?

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

--- Comment #1 from Dimitri Glazkov <dglazkov@chromium.org> 2012-06-25 16:16:08 UTC ---
(In reply to comment #0)
> According to the shadow dom spec:
> http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles,
> insertion point nodes have styles:
> 
> - the styles of the insertion point node are inherited by those child nodes of
> the shadow host that are assigned to this insertion point
> - the styles of the shadow insertion point node are inherited by the child
> nodes of the shadow root of the shadow DOM subtree, distributed to this shadow
> insertion point

I think there's a bug in spec here. What we need to convey is that the styles
of the parent of the insertion point are inherited.

> I think, this behavior looks natural for web developers.
> 
> However, the spec also says:
> "To enable composition of shadow host's children and the shadow DOM subtree, a
> notion of insertion points is added to the abstraction. An insertion point is a
> defined location in the shadow DOM subtree, to which the shadow host's children
> are transposed when rendering."
> in
> http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-dom-subtrees
> 
> So no insertion point nodes appear in a composed tree. If insertion point nodes
> have styles and the styles are inherited by distributed nodes, styles of nodes,
> which are not in a composed tree, will affect rendering result. I think, it
> looks a little odd.

Right.

> 
> The following is an example:
> 
> <div>
>    <span>This is an example.</span>
> </div>
> 
> And a shadow root is attached to the div and the shadow root's innerHTML is:
> 
> <div>!!!!
>   <content style="color: red"></content>
> !!!!</div>
> 
> What color is the text: "This is an example."?

The color should be whatever the color of <div> in the shadow DOM subtree is.
style="color:red" is not used.

However, we could consider that a <content> element does have styles, but has
the initial style of display:contents and thus is not rendered. If the
developer chooses to surface the <content> element, they could give it a
different "display" value. This seems more flexible and less magical. However,
we need to have "display:contents" spec'd in CSS first.

Bug 16294 is related to this.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Monday, 25 June 2012 16:16:16 UTC