Re: Shadow tree generation

At 05:04 PM 7/25/2005, Cameron McCormack wrote:

>Hi Jon.
>
>Jon Ferraiolo:
> > An empty shadow tree is very different from a non-existent shadow tree. If
> > there is no <xbl:template>, then xblShadowTree is null, which causes
> > xblChildNodes to equal childNodes, which means render the original content
> > as if there were no binding.
>
>Actually, it's not the issue of the empty template that I was meaning to
>ask about.  (I just put nothing in there to simplify the example.)  I'd
>like to know if #B should get a shadow tree even though it is a child of
>a custom element whose shadow tree does not have an xbl:content element
>referencing it, and also if #A should get a shadow tree even though it
>is within an xbl:template element that is not used anywhere.
>
>So perhaps I could distill my question further to this: are shadow trees
>generated only for custom elements reachable via the flattened tree (#A
>and #B don't get shadow trees), reachable via the flattened tree OR the
>regular DOM tree (#A and #B do get shadow trees), or some other rule?

I don't know for sure. My first reaction is that all elements that can 
traversed via DOM Core traversals (i.e., you can get to them via 
firstChild, nextSibling, etc.) will have bindings applied, even if they are 
unmatched children of a bound element (where "unmatched children" means 
they don't included in the shadow tree via an <xbl:content> element).

Regarding custom elements in the shadow tree, same thinking. Anything that 
can be reached from <xbl:shadowTree> via via firstChild, nextSibling, etc. 
will have bindings applied, even if they are unmatched children of a bound 
element.

Note that this is *not* equivalent to the flattened tree. Therefore, I 
think the answer is "regular DOM tree only", but with the addition that the 
contents of <xbl:shadowTree> quality as "regular DOM tree".

But I will ask for a clarification.

Jon


>Thanks,
>
>Cameron
>
>--
>   e-mail : cam (at) mcc.id.au           icq : 26955922
>      web : http://mcc.id.au/            msn : cam-msn (at) aka.mcc.id.au
>   office : +61399055779              jabber : heycam (at) jabber.org

Received on Tuesday, 26 July 2005 15:32:59 UTC