Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1657165 [wpt PR 24875] - Revert "Reland "Use border box or layout…
… overflow rect for layout shift tracking"", a=testonly Automatic update from web-platform-tests Revert "Reland "Use border box or layout overflow rect for layout shift tracking"" This reverts commit 84b0d04040453e3f56381655d68909afcc90e6d6. Reason for revert: Caused crbug.com/1112642. Original change's description: > Reland "Use border box or layout overflow rect for layout shift tracking" > > This reverts commit 491b5a9cbe75eb9cdde6e9e0b21e8246f441b086. > > The original CL was reverted because it caused failure on MSAN bots > due to use of uninitialized value. > > The reason was that PaintInvalidatorContext::tree_builder_context_ > pointed into an PrePaintTreeWalkContext entry in a vector, and the > vector could be reallocated when we added new entries, causing the > pointer in the parent PaintInvalidatorContext to point to an invalid > address. > > Now remove PaintInvalidatorContext::tree_builder_context_ and add > PaintInvalidatorContext::transform_ (which was the only used information > from the parent PaintInvalidatorContext) to avoid the problem. > > Original change's description: > > Revert "Use border box or layout overflow rect for layout shift tracking" > > > > This reverts commit 0933392f84b4bb96466bd86c0e814d96f63ba137. > > > > Reason for revert: ASAN/MSAN failures due to "use of uninitialized value"; see e.g. https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8873209606965810848/+/steps/browser_tests/0/logs/Deterministic_failure:_AllForms__x2f_FormStructureBrowserTest.DataDrivenHeuristics__x2f_148__status_FAILURE_/0 > > > > Original change's description: > > > Use border box or layout overflow rect for layout shift tracking > > > > > > This CL addresses the following issues of layout shift tracking: > > > - Changed visual overflows triggered layout shift report > > > (originally filed as crbug.com/1090763). > > > - Descendant layout overflows were not included in ancestor's layout > > > shift report. > > > - Unnecessary descendant layout shift report. > > > - Slow visual rect calculation for LayoutInline and LayoutText. > > > > > > It includes the following changes > > > - Track LayoutBoxes and LayoutTexts only. > > > - Track both old and new starting points and visual representations > > > instead of using location of visual rects as starting points. > > > - For a LayoutBox, the local visual representation is the layout > > > overflow rect if the LayoutBox has layout overflow and doesn't clip > > > overflow. Otherwise use the border box rect. > > > - For a LayoutText, suppose its shift causes shift of all contents > > > in containing block logically below the LayoutText, and use that > > > part of visual representation of the containing block as the visual > > > representation of the shift. > > > - Map both local starting points and local visual representations to > > > the initial containing block and viewport. > > > > > > This has the following benefits: > > > - More accurate starting points and visual representations, conforming > > > to the specs; > > > - Better performance by > > > * avoiding unnecessary layout shift reports of descendants > > > * avoiding slow LayoutInline and LayoutText visual rect calculation. > > > - sizeof(LayoutObject) is reduced by 16 bytes because now we use the > > > previous geometry data in LayoutBoxes for paint invalidation. > > > > > > Bug: 1108622 > > > Change-Id: I7ebb4e250e7ca2a03b4dadea50034e300e55ad84 > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2319538 > > > Reviewed-by: Steve Kobes <skobes@chromium.org> > > > Reviewed-by: Koji Ishii <kojii@chromium.org> > > > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#793806} > > > > TBR=wangxianzhu@chromium.org,skobes@chromium.org,kojii@chromium.org > > > > Change-Id: I590f2abc4a48ba65bdfe7a948ffce00b299f9e06 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: 1108622 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2333578 > > Reviewed-by: Peter Kasting <pkasting@chromium.org> > > Commit-Queue: Peter Kasting <pkasting@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#793874} > > # Not skipping CQ checks because this is a reland. > > Bug: 1108622 > Change-Id: I253a24799b6d2a3af346d4f65e3889217064b035 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2333648 > Reviewed-by: Philip Rogers <pdr@chromium.org> > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> > Cr-Commit-Position: refs/heads/master@{#794218} TBR=wangxianzhu@chromium.org,pdr@chromium.org Change-Id: I06c05f8cab6b2cc2ecd3cf3febf930e6eb95f777 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1108622, 1112642 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2336782 Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#794567} -- wpt-commits: d39e90e1eb0425817873502607ced0e0a2f2cee1 wpt-pr: 24875
- Loading branch information