Create LayoutShiftTracker::ContainingBlockScope for the first fragment only
Currently PaintInvalidator iterates all block fragments with one context for each LayoutObject, so we should create ContainingBlockScope only once for the first fragment only. Previously creating multiple ContainingBlockScopes for one multi-block-fragment object broke stacking of the scopes, causing memory corruption. Add check in ~ContainingBlockScope for stacking error in the scopes. This limitation will be removed with LayoutNGFragmentTraversal which traverses block fragments in depth-first order. Bug: 1113710 Change-Id: I07aa3626f1a1d34714459e256880a96897585d4c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339449Reviewed-by:Philip Rogers <pdr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#796093}
Showing
Please register or sign in to comment