- From: François REMY <francois.remy.dev@outlook.com>
- Date: Tue, 30 Jul 2013 20:14:48 +0200
- To: Boris Zbarsky <bzbarsky@mit.edu>
- CC: "www-style@w3.org" <www-style@w3.org>
> On 7/30/13 9:43 AM, François REMY wrote: >>> Also, inserting or removing a node can cause restyling of its parent or >>> its preceding siblings, not just of following siblings. >> >> Really, in which cases? > > :empty for the parent, :nth-last-child, and various other pseudoclasses > containing "last" for the preceding siblings. that's right but kinda unfrequent... ======================= I would not bother optimizing those cases further than: - using any of those selectors on an element set a special flag on the parent element {or the element itself in the case of :empty} - inserting/removing anything in the DOM as the direct child level triggers a rematch for all the children and their descendants on elements whose parent have this flag raised - this flag could get reused if we want to support the subject selector in normal css to trigger complete rematch over a part of a tree known to be affected by any subject selector matching process. ======================= That means I already used at least 3 of my 32 free flags, however: that was fast... That also means that when I insert/remove something, I have to bubble the ancestor chain; my previous setup didn't need that (but it didn't support :nth-last-... either). ======================= Anyway, thanks for all the comments, those have been very helpful!
Received on Tuesday, 30 July 2013 18:15:20 UTC