Closed Bug 1698575 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 28080 - Reland "Improve counterscroll handling"

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox88 fixed)

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 28080 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/28080
Details from upstream follow.

b'Xianzhu Wang <wangxianzhu@chromium.org>' wrote:

Reland "Improve counterscroll handling"

The relands commit c3a63721ee0613b73066c5166109c0dd054b926e
(reverted in 065a4adfb51b2d40aa2269673cc19e504ca42ffd).

The original CL was reverted because of CLS benchmark regressions
(crbug.com/1186894) for the cases described in crbug.com/1187979.
This reland changes code to make it backward compatible with the
original code for the cases.

The original CL also caused some layout benchmark regressions
(crbug.com/1186933) because of the added MapRect operations. This CL
removes the MapRect operations because the checks of unmapped starting
points already suffice.

Original change's description:

Improve counterscroll handling

Previously we tracked the maximum scroll offset in a viewport to ignore
counterscroll shifts, but it failed when

  • There were multiple scrollers scroll at the same time. Tested by
    external/wpt/layout-instability/shift-with-counterscroll-2.html.
  • An invisible shift was countered by both scroll and transform, e.g.
    move layout location by 100px, scroll by -50px, and transform by
    -50px. Tested by
    external/wpt/layout-instability/shift-with-counter-scroll-and-transform.html

Now let PaintPropertyTreeBuilder track scroll delta, and pass the delta
to LayoutShiftTracker.

Bug: 1182213
Change-Id: I18366ff7bc0e96374a954bee1c1600b582681dd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2741240
Commit-Queue: Xianzhu Wang \<wangxianzhu@chromium.org>
Reviewed-by: Chris Harrelson \<chrishtr@chromium.org>
Reviewed-by: Steve Kobes \<skobes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#861702}

Bug: 1182213
Change-Id: I0ea8362d884ae7fd197001f2c1b658f0bb726820

Reviewed-on: https://chromium-review.googlesource.com/2754969
WPT-Export-Revision: 8028124d76c5502543a902777da697966b136a59

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 3 tests and 1 subtests

Status Summary

Firefox

OK : 3
FAIL: 3

Chrome

OK : 3
PASS: 1
FAIL: 2

Safari

OK : 3
FAIL: 3

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/layout-instability/shift-with-counter-scroll-and-transform.html
Shift with counter scroll and transform not counted.: FAIL (Chrome: FAIL, Safari: FAIL)
/layout-instability/shift-with-counterscroll-2.html
Shift with counterscroll not counted, with 2 scrollers.: FAIL (Chrome: FAIL, Safari: FAIL)
/layout-instability/shift-with-counterscroll.html
Shift with counterscroll not counted.: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bd685c29722b
[wpt PR 28080] - Reland "Improve counterscroll handling", a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.