Changeset 243513 in webkit
- Timestamp:
- Mar 26, 2019, 12:23:52 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 5 edited
- 1 copied
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/resources/ui-helper.js (modified) (1 diff)
-
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html (added)
-
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt (added)
-
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html (copied) (copied from trunk/LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html ) (3 diffs)
-
LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll.html (added)
-
LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayerCompositor.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r243512 r243513 1 2019-03-26 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS WK2] position:fixed inside oveflow:scroll is jumpy 4 https://bugs.webkit.org/show_bug.cgi?id=196238 5 6 Reviewed by Antti Koivisto. 7 8 fixed-in-overflow-scroll-scrolling-tree.html actually tests the fix. 9 For some reason fixed-in-overflow-scroll.html doesn't show the jumpiness, but it's 10 a good test to have nonetheless. 11 12 Other minor cleanup. 13 14 * resources/ui-helper.js: 15 (window.UIHelper.immediateScrollElementAtContentPointToOffset): 16 * scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html: Added. 17 * scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt: Added. 18 * scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html: Copied from LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html. 19 * scrollingcoordinator/ios/fixed-in-overflow-scroll.html: Added. 20 * scrollingcoordinator/ios/ui-scrolling-tree.html: 21 1 22 2019-03-26 Andy VanWagoner <andy@vanwagoner.family> 2 23 -
trunk/LayoutTests/resources/ui-helper.js
r243281 r243513 287 287 } 288 288 289 static immediateScrollElementAtContentPointToOffset(x, y, scrollX, scrollY) 290 { 291 if (!this.isWebKit2()) 292 return Promise.resolve(); 293 294 return new Promise(resolve => { 295 testRunner.runUIScript(` 289 static immediateScrollElementAtContentPointToOffset(x, y, scrollX, scrollY, scrollUpdatesDisabled = false) 290 { 291 if (!this.isWebKit2()) 292 return Promise.resolve(); 293 294 return new Promise(resolve => { 295 testRunner.runUIScript(` 296 uiController.scrollUpdatesDisabled = ${scrollUpdatesDisabled}; 296 297 uiController.immediateScrollElementAtContentPointToOffset(${x}, ${y}, ${scrollX}, ${scrollY});`, resolve); 297 298 }); -
trunk/LayoutTests/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html
r243512 r243513 1 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] --> 2 1 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] --> 3 2 <html> 4 3 <head> 5 4 <meta name="viewport" content="initial-scale=1.0"> 6 5 <style> 7 body { 8 width: 1300px; 9 height: 2000px; 6 .scroller { 7 margin: 10px; 8 height: 300px; 9 width: 300px; 10 border: 1px solid black; 11 overflow: scroll; 10 12 } 11 13 12 . fixed{14 .box { 13 15 position: fixed; 14 top: 10px; 15 left: 12px; 16 height: 100px; 17 width: 100px; 18 background-color: blue; 16 margin-top: 200px; 17 width: 200px; 18 height: 200px; 19 background-color: green; 20 } 21 22 .spacer { 23 height: 800px; 19 24 } 20 25 </style> … … 25 30 } 26 31 27 function getScrollingTreeUIScript( x, y)32 function getScrollingTreeUIScript() 28 33 { 29 34 return `(function() { … … 47 52 </head> 48 53 <body> 49 <div class="fixed"></div> 54 <div class="scroller"> 55 <div class="box"></div> 56 <div class="spacer"></div> 57 </div> 50 58 <pre id="layers"></pre> 51 59 </body> -
trunk/LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html
r208666 r243513 1 1 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] --> 2 3 2 <html> 4 3 <head> … … 25 24 } 26 25 27 function getScrollingTreeUIScript( x, y)26 function getScrollingTreeUIScript() 28 27 { 29 28 return `(function() { -
trunk/Source/WebCore/ChangeLog
r243506 r243513 1 2019-03-26 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS WK2] position:fixed inside oveflow:scroll is jumpy 4 https://bugs.webkit.org/show_bug.cgi?id=196238 5 6 Reviewed by Antti Koivisto. 7 8 We were inadvertently making Positioned nodes for position:fixed, which is unnecessary because 9 Fixed nodes handle them, and harmful because they introduced unwanted layer movement. 10 11 Tests: scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html 12 scrollingcoordinator/ios/fixed-in-overflow-scroll.html 13 14 * rendering/RenderLayerCompositor.cpp: 15 (WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const): 16 1 17 2019-03-26 Dean Jackson <dino@apple.com> 2 18 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r243416 r243513 2945 2945 return ScrollPositioningBehavior::None; 2946 2946 2947 if (layer.renderer().isFixedPositioned()) 2948 return ScrollPositioningBehavior::None; 2949 2947 2950 auto* scrollingCoordinator = this->scrollingCoordinator(); 2948 2951 if (!scrollingCoordinator)
Note:
See TracChangeset
for help on using the changeset viewer.