Bug 1752614 [wpt PR 32601] - Fix performance bug with scrollable areas in subtree...
commitc8caa74af5bb472379c8eacc9d758dd1d6c5e566
authorBlink WPT Bot <blink-w3c-test-autoroller@chromium.org>
Sun, 13 Feb 2022 21:27:04 +0000 (13 21:27 +0000)
committermoz-wptsync-bot <wptsync@mozilla.com>
Sat, 26 Feb 2022 11:56:50 +0000 (26 11:56 +0000)
tree1e680070fd7334c8e14a6078a90ac7cf324090e9
parent2a3717e0ad6c0bac1ec891b94462cc4b2a3f4dce
Bug 1752614 [wpt PR 32601] - Fix performance bug with scrollable areas in subtree layout, a=testonly

Automatic update from web-platform-tests
Fix performance bug with scrollable areas in subtree layout (#32601)

This change fixes the perf test in
third_party/blink/perf_tests/layout/subtree-layout-scrollable-area.html
by limiting the number of scrollable areas that are added to the frame
view. This regressed in https://crrev.com/c/1931148, which added all
areas to the frame view. This change improves performance in that test
by 90%.

The previous behavior of only adding scrollable areas which are visible
to hit-testing and not `overflow: hidden` no longer works, since such
areas must still be considered for scroll anchoring. However, scroll
anchoring does not apply to areas whose content is shorter (in the block
flow direction) than the scrollable area, and so scrollable areas which
don't overflow in the block flow direction do not need to be added to
the frame view.

Bug: 1291551
Change-Id: I23270795b70d6a7d3b6f2c28cfc6e29d938f7943
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3424999
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Andreu Botella <abotella@igalia.com>
Cr-Commit-Position: refs/heads/main@{#965386}

Co-authored-by: Andreu Botella <abotella@igalia.com>
--

wpt-commits: ebd1e5305bdb87f8a359d2703d018568f589c1b6
wpt-pr: 32601
testing/web-platform/tests/css/css-scroll-anchoring/nested-overflow-subtree-layout-vertical-ref.html [new file with mode: 0644]
testing/web-platform/tests/css/css-scroll-anchoring/nested-overflow-subtree-layout-vertical.html [new file with mode: 0644]