[iOS WK2] position:fixed inside oveflow:scroll is jumpy
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Mar 2019 19:23:52 +0000 (19:23 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Mar 2019 19:23:52 +0000 (19:23 +0000)
commita778c805eb422cc2c3c8aeeb8409d6c09beb443b
tree704f8b9a650e299f9294ae597e40f5d5001d5a02
parent6c8a20bc43f394ed5d4dd8dd85cebd6e10af9039
[iOS WK2] position:fixed inside oveflow:scroll is jumpy
https://bugs.webkit.org/show_bug.cgi?id=196238

Reviewed by Antti Koivisto.
Source/WebCore:

We were inadvertently making Positioned nodes for position:fixed, which is unnecessary because
Fixed nodes handle them, and harmful because they introduced unwanted layer movement.

Tests: scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html
       scrollingcoordinator/ios/fixed-in-overflow-scroll.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const):

LayoutTests:

fixed-in-overflow-scroll-scrolling-tree.html actually tests the fix.
For some reason fixed-in-overflow-scroll.html doesn't show the jumpiness, but it's
a good test to have nonetheless.

Other minor cleanup.

* resources/ui-helper.js:
(window.UIHelper.immediateScrollElementAtContentPointToOffset):
* scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html: Added.
* scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt: Added.
* scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html: Copied from LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html.
* scrollingcoordinator/ios/fixed-in-overflow-scroll.html: Added.
* scrollingcoordinator/ios/ui-scrolling-tree.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/resources/ui-helper.js
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html [new file with mode: 0644]
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt [new file with mode: 0644]
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html [new file with mode: 0644]
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll.html [new file with mode: 0644]
LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerCompositor.cpp