Consider GetForceReattachLayoutTree() as a dirty node.
When considering dirty nodes for style recalc roots, we did not consider nodes which were marked GetForceReattachLayoutTree(), but not marked for recalc, as dirty nodes. With the current code, it simply caused us to have the recalc root higher up the tree than strictly necessary, but with FlatTreeStyleRecalc enabled, it caused fullscreen test faillures. The reason is that Node::SetIsInTopLayer only marks node for forced reattach and since the Document node is no longer marked as ChildNeedsStyleRecalc(), a subsequent SetNeedsStyleRecalc on a descendant would walk all the way to the top without finding a dirty node or a child-dirty node. Bug: 972752 Change-Id: I640ce04afd86d8ca032460d72bd088418cee10c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1844955 Commit-Queue: Rune Lillesveen <futhark@chromium.org> Reviewed-by:Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#703663}
Showing
Please register or sign in to comment