[Bug 24872] [Shadow]: Consider adding back at least :first-of-type to valid matching criteria

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

Hayato Ito <hayato@chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hayato@chromium.org

--- Comment #4 from Hayato Ito <hayato@chromium.org> ---
(In reply to Jonas Sicking from comment #1)
> My concern with this is that it means that anytime that a node is inserted
> anywhere, we need to recheck the insertion-point for all of its siblings.
> 
> Adding William who can comment more on the performance implications of this.

That is not specific to the ':first-of-type'. We have to recalculate
distributions whenever a node is inserted whether matching criteria has
':first-of-type' or not.

(In reply to Ryosuke Niwa from comment #3)
> (In reply to Jonas Sicking from comment #1)
> > My concern with this is that it means that anytime that a node is inserted
> > anywhere, we need to recheck the insertion-point for all of its siblings.
> 
> Same concern here. The problem with :first-of-type is that it involves
> walking previous siblings to check this condition when multiple children are
> inserted via document fragments.

Right. I guess this is one of the pseudo classes which is difficult to
implement without performance impact.
In general, we need *virtual siblings traversal* for Tree-Structural
pseudo-classes.
http://dev.w3.org/csswg/selectors4/#structural-pseudos


For reference:
Chromium side bug is here:
https://code.google.com/p/chromium/issues/detail?id=343332
In blink, we already supported some of pseudo classes. To implement these in
blink, we (especially shinyak@chromium.org) had to use a technique of C++'s
template so that we could overcome perf concern. There is a technical
difficulty.


> 
> (In reply to Domenic Denicola from comment #2)
> > I would really much prefer if there was an imperative way to add content;
> > the <content> element is un-ergonomic and very hard to use in a sensible
> > way. I am hearing this feedback from multiple developers as I try to show
> > them shadow DOM.
> > 
> > I know there is already an open issue for this (bug 18429) but I thought it
> > was relevant since this bug seems to be about putting lipstick on the
> > <content> pig, whereas we could instead try to create something non-pig-like.
> 
> Yes. In fact, we (Apple) would argue that we should implement the imperative
> API first.

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

Received on Thursday, 6 March 2014 07:31:25 UTC