We create layout objects for text nodes only when needed given the layout object siblings. When re-attaching for a given node, we may need to attach/detach a layout object for whitespace siblings of the re-attached element. We figure out where to start looking for subsequent whitespace textnodes by keeping a lastTextNode pointer to the last text node we've seen.
The problem is that we only look at light tree text node siblings as style recalc traversal happens in the tree-of-trees order. In the flat-tree case, The whitespace sibling layout box may come from a different (shadow) tree.
See attached test-cases.
|
Deleted:
ws.html
383 bytes
|
|
Deleted:
ws2.html
366 bytes
|
Comment 1 by r...@opera.com
, Sep 21 2016