Optimize building the non-fast scrollable region with multiple iframes
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 05:36:42 +0000 (05:36 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Jan 2018 05:36:42 +0000 (05:36 +0000)
commit242c5d6d29449b11bbdbcc7491c2132540e8a365
tree19c9fa7c8cc04bb6253ba68f10f7a9125e36f6a7
parent89d361bb7e582c5cfeff035b52effd51810db495
Optimize building the non-fast scrollable region with multiple iframes
https://bugs.webkit.org/show_bug.cgi?id=181971

Reviewed by Zalan Bujtas.

Source/WebCore:

AsyncScrollingCoordinator::frameViewLayoutUpdated() is called every time a subframe lays out.
We don't need to eagerly update the non-fast scrollable region at this time; we can just mark
it dirty, and rely on the existing scrolling tree commit code to recompute it.

On my machine this makes fast/frames/lots-of-objects.html no longer a timeout.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

LayoutTests:

* platform/mac-wk2/TestExpectations: fast/frames/lots-of-objects.html is no longer always a timeout.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/platform/mac-wk2/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp