[Bug 26365] [Shadow]: Need an equivalent definition of 'in a Document' for shadow trees

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

--- Comment #38 from Hayato Ito <hayato@chromium.org> ---
(In reply to Olli Pettay from comment #37)
> (In reply to Hayato Ito from comment #36)
> > Thanks. If we agree that we should include shadow trees hosted by #c in 'D'
> > (aka 'in a document deeply), I am wondering what is the difference between:
> > 
> > - the shadow tree hosted by #c
> > and
> > -  the oldest shadow tree in the example.
> > 
> > Any node in either tree isn't used in rendering at all (aka they are not in
> > the composed tree (with document as root)), however,
> > - Nodes in the shadow tree hosted by #c *are* 'in a document deeply',
> > - Nodes in the oldest shadow trees, such as #f and #g, *are not* 'in a
> > document deeply'.
> > 
> > That looks inconsistent to me.
> Not to me.
> In my mind only the youngest shadow tree is in the documented rooted
> composed tree if the host is in document rooted composed tree.
> Older shadow trees are in document rooted composed tree only if they are
> attached to a shadow insertion point which is in
> a document rooted composed tree. 

This is exactly what I thought when I saw your comment in #27. 
After that, I've changed my mind because I found the inconsistency, as I
explained in comment #36. 
Could you have a closer look at comment #36? I'd like to understand why you
don't think this is inconsistent.

It's not reasonable if we exclude only such an older shadow root, while
including the shadow tree hosted by #c only for the reason that one is an older
shadow tree and one is the youngest shadow tree. 
Both shadow trees are in the same category in a sense that neither contribute
to the document-rooted composed tree at all.

Basically, I think the distribution result shouldn't have any effect to 'in a
document'-ness.
'In a document'-ness should be purely determined by the structure of the tree
of trees.

In other words, adding/removing a <shadow> element somewhere in the tree of
trees shouldn't have any effect of 'in a document'-ness for other nodes in the
tree of trees.

I guess there are two different kind of views for 'in a document'-ness in the
shadow dom world.

A). Focusing a *static* structure of a tree of trees.
B). Focusing a dynamic structure. That's the document-rooted composed tree,
which is the result of the distribution algorithm and the composition
algorithm.

I think you have been focusing on B, but I'd like to focus on A here.
B will be likely to cause an inconsistency and make things complex. Unless we
can find a serious issue in A, I'd like to go for A here.


> > Each node in shadow trees are 'in a document', conceptually.
> Not quite, since the host might not be in a document.

Yeah, I shouldn't have omitted 'as long as the host is in a document deeply'
here.

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

Received on Wednesday, 12 November 2014 04:46:38 UTC