RE: CSS Engine Style Invalidation Strategy

> > When an element is inserted, if the sibling-invalidation map of its previous sibling does not return zero, we reevaluate his next siblings. Otherwise we don't.
> 
> That's not good enough, unfortunately.  Consider this selector:
> 
>    div ~ span + i
> 
> and a DOM that looks like this:
> 
>    <div/><p/><i/>
> 
> and then a <span> is inserted.  There are no flags in your setup for tag 
> names, right?

Because I considered tag names impossible to changes. I may indeed want to introduce some flags for tag names in the sibling-invalidation set specifically, because in this case element insertion/removal can indeed "modify" them. Good point.




> 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? I agree about the layout (this is a different story), but the styling cannot match backward, can it? 		 	   		  

Received on Tuesday, 30 July 2013 16:44:08 UTC