[CLS] Allow for shifts in root-relative coordinates for scroll anchoring #29292
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.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, layout adjustments plus scroll anchoring may result in all
three of the following happening in the same rendering update:
layout shift root (e.g. via content-visibility changing skip state, but
it could also be any layout change offscreen)
visually on-screen
scroll
We currently do not handle that case. We only handle the case of
a layout change that is directly counter-balanced by a scroll, or
a pure scroll.
This CL serves the above use case by plumbing the value of the scroll
anchor scroll to LayoutShiftTracker, and early-outing if the root-
relative position of the before and after rects are equal, once
scroll anchoring is taken into account.
Bug: 1215368
Change-Id: I8a5240603cebf3a78dfc4fa82b4839cf1af68800
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2946459
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#891250}