This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 15294 - [Shadow]: Tree composition algorithm should select the child nodes of the shadow host at a shadow insertion point when there is no older shadow tree
Summary: [Shadow]: Tree composition algorithm should select the child nodes of the sha...
Status: RESOLVED FIXED
Alias: None
Product: WebAppsWG
Classification: Unclassified
Component: HISTORICAL - Component Model (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Dimitri Glazkov
QA Contact: public-webapps-bugzilla
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 14978 15300
  Show dependency treegraph
 
Reported: 2011-12-21 08:37 UTC by Dominic Cooney
Modified: 2011-12-21 19:32 UTC (History)
0 users

See Also:


Attachments

Description Dominic Cooney 2011-12-21 08:37:40 UTC
The tree composition algorithm step 5.2.1.1 says "If there is no older tree, stop."

I think that this should be changed to:

"Distribute the remaining nodes in POOL, if any, to POINT."

As I understand the intent of the shadow element it is to compose with other shadow trees. However since the presence of an older shadow tree is not detectable, it is not possible to create a shadow tree that is generally composable. It is Sophie’s choice, do I

<shadow></shadow> — compose with other shadow trees, and let unused light children die if there is no older shadow tree

or

<content></content> — render unused light children, but let any older shadow trees die?

If the tree composition algorithm is changed in the proposed way then the shadow element can be used to create generally composable shadow trees.

Alternatively, the spec could state that elements should have an oldest shadow equivalent to <content></content>. (Should and not must for UAs which want to use shadow DOM as an implementation mechanism, for example, to suppress the rendering of children in elements which do not permit child content etc.)
Comment 1 Dimitri Glazkov 2011-12-21 19:27:55 UTC
(In reply to comment #0)
> The tree composition algorithm step 5.2.1.1 says "If there is no older tree,
> stop."
> 
> I think that this should be changed to:
> 
> "Distribute the remaining nodes in POOL, if any, to POINT."

I think this is what I'll do for now.

> Alternatively, the spec could state that elements should have an oldest shadow
> equivalent to <content></content>. (Should and not must for UAs which want to
> use shadow DOM as an implementation mechanism, for example, to suppress the
> rendering of children in elements which do not permit child content etc.)

I really like this notion, but it has exactly the same effect as the first change you proposed. Perhaps we'll come back to doing it this way later.
Comment 2 Dimitri Glazkov 2011-12-21 19:30:49 UTC
http://dvcs.w3.org/hg/webcomponents/rev/2c3c3971a9f5