commit | 87f42900b7b3d08d2a89c34dd84bbe31af31158c | [log] [tgz] |
---|---|---|
author | Rune Lillesveen <futhark@chromium.org> | Fri Feb 08 12:05:26 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Feb 08 12:05:26 2019 |
tree | fe4a1ea462ed9924f1843e197dbf51f080a7f17f | |
parent | cc1362d2eba912a782e77f50f02680a2cfff9f45 [diff] |
Do not use LazyReattachIfAttached for NG bfc reattach. When the BFCs being re-attached were detached from that method, we would sometimes nuke LayoutObjects later in the blocks_ vector, causing a crash later in the iteration. Use the new SetForceReattachLayoutTree() instead which means we do the DetachLayoutTree() from the RebuildLayoutTree() instead. Also, store the Elements instead of the LayoutObjects since they are traced GC objects which is more robust. We no longer need to check if any ancestors have already been marked for forced legacy layout before marking for forced reattach since the forced reattaches will be handled by the same passes over the dom tree for style recalc and layout tree rebuild, not doing multiple layout tree detaches. Needed to modify the ShouldRecalcStyleFor() in order to traverse into elements which are true for GetForceReattachLayoutTree() but not otherwise style dirty. This is the first time we do a forced layout tree re-attach without recalculating style. Bug: 927983 Change-Id: Idb08f7b9a4bda81dd5a00458ef9751b754d3bd2e Reviewed-on: https://chromium-review.googlesource.com/c/1455960 Commit-Queue: Rune Lillesveen <futhark@chromium.org> Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#630280}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .