Revert "Use border box or layout overflow rect for layout shift tracking" #24840
Conversation
…ing" 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}
The review process for this patch is being conducted in the Chromium project. |
0e4384b
into
master
22 checks passed
22 checks passed
Azure Pipelines (affected tests without changes: Safari Technology Preview)
affected tests without changes: Safari Technology Preview succeeded
Details
Azure Pipelines (affected tests: Safari Technology Preview)
affected tests: Safari Technology Preview succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests)
wpt.fyi hook: safari-preview-affected-tests succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests-without-changes)
wpt.fyi hook: safari-preview-affected-tests-without-changes succeeded
Details
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
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:
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}