Changeset 287431 in webkit
- Timestamp:
- Dec 24, 2021, 1:02:24 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 28 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/scrolling/iframe-scrollable-after-back.html (modified) (3 diffs)
-
LayoutTests/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt (modified) (1 diff)
-
LayoutTests/fast/scrolling/latching/iframe-latch-small-deltas.html (modified) (3 diffs)
-
LayoutTests/fast/scrolling/latching/latching-and-wheel-events-expected.txt (modified) (1 diff)
-
LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt (modified) (1 diff)
-
LayoutTests/fast/scrolling/mac/momentum-animator-in-overflow.html (modified) (1 diff)
-
LayoutTests/fast/scrolling/mac/momentum-animator-maybegin-stops.html (modified) (1 diff)
-
LayoutTests/fast/scrolling/mac/momentum-animator.html (modified) (1 diff)
-
LayoutTests/fast/scrolling/mac/momentum-event-sequence-expected.txt (modified) (1 diff)
-
LayoutTests/fast/scrolling/mac/momentum-event-sequence.html (modified) (2 diffs)
-
LayoutTests/fast/scrolling/mac/rubberband-overflow-in-wheel-region.html (modified) (2 diffs)
-
LayoutTests/fast/scrolling/overflow-scrollable-after-back.html (modified) (3 diffs)
-
LayoutTests/platform/mac-bigsur-wk1/fast (deleted)
-
LayoutTests/platform/mac-catalina-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt (deleted)
-
LayoutTests/platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt (modified) (1 diff)
-
LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow-expected.txt (modified) (1 diff)
-
LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow.html (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt (modified) (2 diffs)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt (modified) (2 diffs)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt (modified) (2 diffs)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt (modified) (2 diffs)
-
LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/ScrollSnapAnimatorState.cpp (modified) (2 diffs)
-
Source/WebCore/platform/mac/ScrollingEffectsController.mm (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/Shared/WebWheelEventCoalescer.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r287430 r287431 1 2021-12-24 Simon Fraser <simon.fraser@apple.com> 2 3 Apply the scroll delta in the "began" wheel event 4 https://bugs.webkit.org/show_bug.cgi?id=234645 5 6 Reviewed by Wenson Hsieh. 7 8 Fix various test issues, and rebase tests affected by the change. 9 10 * fast/scrolling/iframe-scrollable-after-back.html: 11 * fast/scrolling/overflow-scrollable-after-back.html: Applying the delta from the "began" event caused 12 multiple scroll events to fire, triggering multiple navigations (previously, event coalescing would result in a single 13 scroll for multiple "changed" events). 14 Fix by using UIHelper.mouseWheelScrollAt() and logging the scroll only once. 15 * fast/scrolling/latching/iframe-latch-small-deltas-expected.txt: Accumulated offset includes "began" delta. 16 * fast/scrolling/latching/iframe-latch-small-deltas.html: Ditto 17 * fast/scrolling/latching/latching-and-wheel-events-expected.txt: Ditto 18 * fast/scrolling/latching/overflow-in-iframe-latching-expected.txt: Ditto 19 * fast/scrolling/mac/momentum-animator-in-overflow.html: Remove comment. 20 * fast/scrolling/mac/momentum-animator-maybegin-stops.html: Ditto 21 * fast/scrolling/mac/momentum-animator.html: Ditto 22 * fast/scrolling/mac/momentum-event-sequence-expected.txt: Accumulated offset includes "began" delta. 23 * fast/scrolling/mac/momentum-event-sequence.html: Accumulated offset includes "began" delta. 24 * fast/scrolling/mac/rubberband-overflow-in-wheel-region.html: Wheel event coalescing resulted in 25 unpredictable behavior, so ensure there is one. 26 * platform/mac-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt: Removed. 27 * platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt: Accumulated offset includes "began" delta. 28 * platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt: Ditto 29 * scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow-expected.txt: Ditto 30 * scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow.html: Ditto 31 * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Ditto 32 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: Ditto 33 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Ditto 34 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html: Test was designed with overlay scrollbars, 35 allowing for some between-snapoint slow that allowed an x delta to get applied. Fix to make room for scrollbars so that 36 snapping is always predictable. 37 1 38 2021-12-24 Tim Nguyen <ntim@apple.com> 2 39 -
trunk/LayoutTests/fast/scrolling/iframe-scrollable-after-back.html
r268400 r287431 17 17 } 18 18 </style> 19 <script src="../../resources/ui-helper.js"></script> 19 20 <script> 20 21 if (window.testRunner) { … … 29 30 30 31 var scrollTopBeforeScroll; 31 var postScrollCallback;32 var scrollTopAfterScroll; 32 33 33 34 function iframeScrolled() 34 35 { 35 var newScrollTop = document.getElementById('iframe').contentDocument.scrollingElement.scrollTop; 36 if (newScrollTop > scrollTopBeforeScroll) 37 logResult('PASS: mouseWheel caused scrolling'); 38 else 39 logResult('FAIL; mouseWheel did not scroll; scrollTop is ' + newScrollTop + ', was ' + scrollTopBeforeScroll); 40 41 if (postScrollCallback) 42 postScrollCallback(); 36 scrollTopAfterScroll = document.getElementById('iframe').contentDocument.scrollingElement.scrollTop; 43 37 } 44 38 45 function testScrollability(completionHandler)39 async function testScrollability() 46 40 { 47 41 var iframeTarget = document.getElementById('iframe'); 48 42 var iframeBounds = iframeTarget.getBoundingClientRect(); 49 43 50 44 scrollTopBeforeScroll = iframeTarget.contentDocument.scrollingElement.scrollTop; 51 45 logResult('Sending mouseWheel events'); 52 46 53 eventSender.mouseMoveTo(iframeBounds.left + 10, iframeBounds.top + 10); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 47 await UIHelper.mouseWheelScrollAt(iframeBounds.left + 10, iframeBounds.top + 10, 0, -1, 0, -1); 58 48 59 postScrollCallback = completionHandler; 49 if (scrollTopAfterScroll > scrollTopBeforeScroll) 50 logResult('PASS: mouseWheel caused scrolling'); 51 else 52 logResult('FAIL; mouseWheel did not scroll; scrollTop is ' + scrollTopAfterScroll + ', was ' + scrollTopBeforeScroll); 60 53 } 61 54 62 function startTest()55 async function startTest() 63 56 { 64 57 if (!window.eventSender) { … … 67 60 } 68 61 69 testScrollability(function() { 70 window.setTimeout(function() { 71 logResult('\nNavigating forward then back\n'); 72 window.location.href = "data:text/html,<body onload='history.back()'></body>"; 73 }, 0); 74 }); 75 62 await testScrollability(); 63 setTimeout(() => { 64 logResult('\nNavigating forward then back\n'); 65 window.location.href = "data:text/html,<body onload='history.back()'></body>"; 66 }, 0); 76 67 } 77 68 78 69 var showCount = 0; 79 function pageShowed()70 async function pageShowed() 80 71 { 81 72 if (++showCount == 2) { 82 testScrollability(function() { 83 testRunner.notifyDone(); 84 }); 73 await testScrollability(); 74 testRunner.notifyDone(); 85 75 } 86 76 } -
trunk/LayoutTests/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt
r266292 r287431 8 8 PASS window.pageYOffset is 200 9 9 After scroll 10 PASS iframeTarget.contentWindow.pageYOffset is 4 0010 PASS iframeTarget.contentWindow.pageYOffset is 410 11 11 PASS window.pageYOffset is 200 12 12 After wait 13 PASS iframeTarget.contentWindow.pageYOffset is 410 14 PASS window.pageYOffset is 200 13 15 PASS iframeTarget.contentWindow.pageYOffset is 400 14 PASS window.pageYOffset is 20015 PASS iframeTarget.contentWindow.pageYOffset is 38016 16 PASS window.pageYOffset is 200 17 17 PASS successfullyParsed is true -
trunk/LayoutTests/fast/scrolling/latching/iframe-latch-small-deltas.html
r269360 r287431 39 39 40 40 debug('After scroll'); 41 shouldBe('iframeTarget.contentWindow.pageYOffset', '4 00');41 shouldBe('iframeTarget.contentWindow.pageYOffset', '410'); 42 42 shouldBe('window.pageYOffset', '200'); 43 43 … … 45 45 46 46 debug('After wait'); 47 shouldBe('iframeTarget.contentWindow.pageYOffset', '4 00');47 shouldBe('iframeTarget.contentWindow.pageYOffset', '410'); 48 48 shouldBe('window.pageYOffset', '200'); 49 49 … … 55 55 56 56 await UIHelper.waitForScrollCompletion(); 57 shouldBe('iframeTarget.contentWindow.pageYOffset', ' 380');57 shouldBe('iframeTarget.contentWindow.pageYOffset', '400'); 58 58 shouldBe('window.pageYOffset', '200'); 59 59 -
trunk/LayoutTests/fast/scrolling/latching/latching-and-wheel-events-expected.txt
r259417 r287431 14 14 After scroll 15 15 FAIL iframeTarget.contentWindow.pageYOffset should be 0. Was 100. 16 FAIL overflowInIframeElement.scrollTop should be 0. Was 2 00.16 FAIL overflowInIframeElement.scrollTop should be 0. Was 210. 17 17 PASS window.pageYOffset is 20 18 18 PASS mainFrameWheelEventCount is 0 -
trunk/LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt
r259417 r287431 10 10 After scroll 11 11 FAIL iframeTarget.contentWindow.pageYOffset should be 0. Was 100. 12 FAIL overflowInIframeElement.scrollTop should be 0. Was 2 00.12 FAIL overflowInIframeElement.scrollTop should be 0. Was 210. 13 13 PASS window.pageYOffset is 20 14 14 PASS successfullyParsed is true -
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-in-overflow.html
r286274 r287431 34 34 viewX : 100, 35 35 viewY : 100, 36 deltaY : -10, // Note that this delta is currently ignored.36 deltaY : -10, 37 37 phase : "began" 38 38 }, -
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-maybegin-stops.html
r286274 r287431 25 25 viewX : 100, 26 26 viewY : 100, 27 deltaY : -10, // Note that this delta is currently ignored.27 deltaY : -10, 28 28 phase : "began" 29 29 }, -
trunk/LayoutTests/fast/scrolling/mac/momentum-animator.html
r286274 r287431 21 21 viewX : 100, 22 22 viewY : 100, 23 deltaY : -10, // Note that this delta is currently ignored.23 deltaY : -10, 24 24 phase : "began" 25 25 }, -
trunk/LayoutTests/fast/scrolling/mac/momentum-event-sequence-expected.txt
r285390 r287431 1 PASS window.scrollY is 461 PASS window.scrollY is 56 2 2 PASS successfullyParsed is true 3 3 -
trunk/LayoutTests/fast/scrolling/mac/momentum-event-sequence.html
r285430 r287431 21 21 viewX : 100, 22 22 viewY : 100, 23 deltaY : -10, // Note that this delta is currently ignored.23 deltaY : -10, 24 24 phase : "began" 25 25 }, … … 61 61 62 62 await UIHelper.mouseWheelSequence(wheelEventSquence); 63 shouldBe('window.scrollY', ' 46');63 shouldBe('window.scrollY', '56'); 64 64 } 65 65 -
trunk/LayoutTests/fast/scrolling/mac/rubberband-overflow-in-wheel-region.html
r269360 r287431 47 47 { 48 48 eventSender.mouseMoveTo(100, 100); 49 49 50 // Scroll down to latch, then up to rubberband. 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "began", "none"); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "changed", "none"); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "changed", "none"); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 12, "changed", "none"); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 12, "changed", "none"); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none"); 51 const wheelEventSquence = { 52 "events" : [ 53 { 54 type : "wheel", 55 viewX : 100, 56 viewY : 100, 57 deltaX : -10, 58 phase : "began" 59 }, 60 { 61 type : "wheel", 62 deltaX : -100, 63 phase : "changed" 64 }, 65 { 66 type : "wheel", 67 viewX : 101, // defeat coalescing 68 deltaX : -100, 69 phase : "changed" 70 }, 71 { 72 type : "wheel", 73 viewX : 100, // defeat coalescing 74 deltaY : 120, 75 phase : "changed" 76 }, 77 { 78 type : "wheel", 79 viewX : 101, // defeat coalescing 80 deltaY : 120, 81 phase : "changed" 82 }, 83 { 84 type : "wheel", 85 phase : "ended" 86 } 87 ] 88 }; 89 90 await UIHelper.sendEventStream(wheelEventSquence); 56 91 await UIHelper.renderingUpdate(); 57 92 } … … 62 97 debug('Test rubberband of overflow:scroll inside the non-fast scrollable region'); 63 98 await resetScrollPositions(); 99 64 100 await doMouseWheelScroll(); 65 101 -
trunk/LayoutTests/fast/scrolling/overflow-scrollable-after-back.html
r268400 r287431 17 17 } 18 18 </style> 19 <script src="../../resources/ui-helper.js"></script> 19 20 <script> 20 21 if (window.testRunner) { … … 29 30 30 31 var scrollTopBeforeScroll; 31 var postScrollCallback;32 var scrollTopAfterScroll; 32 33 33 34 function divScrolled() 34 35 { 35 var newScrollTop = document.getElementById('overflowing').scrollTop; 36 37 if (newScrollTop > scrollTopBeforeScroll) 38 logResult('PASS: mouseWheel caused scrolling'); 39 else 40 logResult('FAIL; mouseWheel did not scroll; scrollTop is ' + newScrollTop + ', was ' + scrollTopBeforeScroll); 41 42 if (postScrollCallback) 43 postScrollCallback(); 36 scrollTopAfterScroll = document.getElementById('overflowing').scrollTop; 44 37 } 45 38 46 function testScrollability(completionHandler)39 async function testScrollability() 47 40 { 48 41 var divTarget = document.getElementById('overflowing'); 49 42 var divBounds = divTarget.getBoundingClientRect(); 50 43 51 44 scrollTopBeforeScroll = divTarget.scrollTop; 52 45 logResult('Sending mouseWheel events'); 53 46 54 eventSender.mouseMoveTo(divBounds.left + 10, divBounds.top + 10); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 47 await UIHelper.mouseWheelScrollAt(divBounds.left + 10, divBounds.top + 10, 0, -1, 0, -1); 59 48 60 postScrollCallback = completionHandler; 49 if (scrollTopAfterScroll > scrollTopBeforeScroll) 50 logResult('PASS: mouseWheel caused scrolling'); 51 else 52 logResult('FAIL; mouseWheel did not scroll; scrollTop is ' + scrollTopAfterScroll + ', was ' + scrollTopBeforeScroll); 61 53 } 62 54 63 function startTest()55 async function startTest() 64 56 { 65 57 if (!window.eventSender) { … … 68 60 } 69 61 70 testScrollability(function() { 71 window.setTimeout(function() { 72 logResult('\nNavigating forward then back\n'); 73 window.location.href = "data:text/html,<body onload='history.back()'></body>"; 74 }, 0); 75 }); 76 62 await testScrollability(); 63 setTimeout(() => { 64 logResult('\nNavigating forward then back\n'); 65 window.location.href = "data:text/html,<body onload='history.back()'></body>"; 66 }, 0); 77 67 } 78 68 79 69 var showCount = 0; 80 function pageShowed()70 async function pageShowed() 81 71 { 82 72 if (++showCount == 2) { 83 testScrollability(function() { 84 testRunner.notifyDone(); 85 }); 73 await testScrollability(); 74 testRunner.notifyDone(); 86 75 } 87 76 } -
trunk/LayoutTests/platform/mac-catalina-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt
r280196 r287431 8 8 PASS window.pageYOffset is 200 9 9 After scroll 10 FAIL iframeTarget.contentWindow.pageYOffset should be 4 00. Was 205.10 FAIL iframeTarget.contentWindow.pageYOffset should be 410. Was 205. 11 11 PASS window.pageYOffset is 200 12 12 After wait 13 FAIL iframeTarget.contentWindow.pageYOffset should be 4 00. Was 205.13 FAIL iframeTarget.contentWindow.pageYOffset should be 410. Was 205. 14 14 PASS window.pageYOffset is 200 15 FAIL iframeTarget.contentWindow.pageYOffset should be 380. Was 200.15 FAIL iframeTarget.contentWindow.pageYOffset should be 400. Was 200. 16 16 PASS window.pageYOffset is 200 17 17 PASS successfullyParsed is true -
trunk/LayoutTests/platform/mac-wk1/fast/scrolling/latching/latching-and-wheel-events-expected.txt
r287397 r287431 14 14 After scroll 15 15 FAIL iframeTarget.contentWindow.pageYOffset should be 0. Was 100. 16 FAIL overflowInIframeElement.scrollTop should be 0. Was 2 00.16 FAIL overflowInIframeElement.scrollTop should be 0. Was 210. 17 17 PASS window.pageYOffset is 20 18 18 PASS mainFrameWheelEventCount is 0 -
trunk/LayoutTests/platform/mac-wk1/fast/scrolling/latching/overflow-in-iframe-latching-expected.txt
r287397 r287431 10 10 After scroll 11 11 FAIL iframeTarget.contentWindow.pageYOffset should be 0. Was 100. 12 FAIL overflowInIframeElement.scrollTop should be 0. Was 2 00.12 FAIL overflowInIframeElement.scrollTop should be 0. Was 210. 13 13 PASS window.pageYOffset is 20 14 14 PASS successfullyParsed is true -
trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow-expected.txt
r259872 r287431 5 5 PASS innerScroller.scrollTop is 0 6 6 After scrolll 7 PASS outerScroller.scrollTop is 2 007 PASS outerScroller.scrollTop is 210 8 8 PASS innerScroller.scrollTop is 0 9 9 PASS successfullyParsed is true -
trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow.html
r269360 r287431 44 44 { 45 45 debug('After scrolll'); 46 shouldBe('outerScroller.scrollTop', '2 00');46 shouldBe('outerScroller.scrollTop', '210'); 47 47 shouldBe('innerScroller.scrollTop', '0'); 48 48 -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt
r258701 r287431 16 16 (anchor 0.00 0.00) 17 17 (bounds 2008.00 2236.00) 18 (visible rect 0.00, 70.00 785.00 x 585.00)19 (coverage rect 0.00, 70.00 785.00 x 585.00)18 (visible rect 0.00, 80.00 785.00 x 585.00) 19 (coverage rect 0.00, 80.00 785.00 x 585.00) 20 20 (intersects coverage rect 1) 21 21 (contentsScale 1.00) … … 24 24 (bounds 2008.00 2236.00) 25 25 (contentsOpaque 1) 26 (visible rect 0.00, 70.00 785.00 x 585.00)26 (visible rect 0.00, 80.00 785.00 x 585.00) 27 27 (coverage rect 0.00, 0.00 1570.00 x 1755.00) 28 28 (intersects coverage rect 1) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt
r211662 r287431 13 13 (anchor 0.00 0.00) 14 14 (bounds 785.00 2266.00) 15 (visible rect 0.00, 70.00 785.00 x 600.00)16 (coverage rect 0.00, 70.00 785.00 x 600.00)15 (visible rect 0.00, 80.00 785.00 x 600.00) 16 (coverage rect 0.00, 80.00 785.00 x 600.00) 17 17 (intersects coverage rect 1) 18 18 (contentsScale 1.00) … … 21 21 (bounds 785.00 2266.00) 22 22 (contentsOpaque 1) 23 (visible rect 0.00, 70.00 785.00 x 600.00)23 (visible rect 0.00, 80.00 785.00 x 600.00) 24 24 (coverage rect 0.00, 0.00 785.00 x 1800.00) 25 25 (intersects coverage rect 1) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt
r211662 r287431 15 15 (anchor 0.00 0.00) 16 16 (bounds 2008.00 2266.00) 17 (visible rect 0.00, 70.00 785.00 x 585.00)18 (coverage rect 0.00, 70.00 785.00 x 585.00)17 (visible rect 0.00, 80.00 785.00 x 585.00) 18 (coverage rect 0.00, 80.00 785.00 x 585.00) 19 19 (intersects coverage rect 1) 20 20 (contentsScale 1.00) … … 23 23 (bounds 2008.00 2266.00) 24 24 (contentsOpaque 1) 25 (visible rect 0.00, 70.00 785.00 x 585.00)25 (visible rect 0.00, 80.00 785.00 x 585.00) 26 26 (coverage rect 0.00, 0.00 1570.00 x 1755.00) 27 27 (intersects coverage rect 1) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt
r254793 r287431 15 15 (anchor 0.00 0.00) 16 16 (bounds 2008.00 2221.00) 17 (visible rect 0.00, 70.00 785.00 x 585.00)18 (coverage rect 0.00, 70.00 785.00 x 585.00)17 (visible rect 0.00, 80.00 785.00 x 585.00) 18 (coverage rect 0.00, 80.00 785.00 x 585.00) 19 19 (intersects coverage rect 1) 20 20 (contentsScale 1.00) … … 23 23 (bounds 2008.00 2221.00) 24 24 (contentsOpaque 1) 25 (visible rect 0.00, 70.00 785.00 x 585.00)25 (visible rect 0.00, 80.00 785.00 x 585.00) 26 26 (coverage rect 0.00, 0.00 1570.00 x 1755.00) 27 27 (intersects coverage rect 1) -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html
r258679 r287431 4 4 <style> 5 5 #grid-container { 6 width: 4 00px;7 height: 4 00px;6 width: 415px; 7 height: 415px; 8 8 overflow: scroll; 9 9 white-space: nowrap; -
trunk/Source/WebCore/ChangeLog
r287430 r287431 1 2021-12-24 Simon Fraser <simon.fraser@apple.com> 2 3 Apply the scroll delta in the "began" wheel event 4 https://bugs.webkit.org/show_bug.cgi?id=234645 5 6 Reviewed by Wenson Hsieh. 7 8 ScrollingEffectsController::handleWheelEvent() previously early returned without applying 9 the delta in the "Began" event, which means that scrolling started a frame later than it 10 should have. For snappier scrolling in Safari, we should apply this delta. 11 12 * platform/ScrollSnapAnimatorState.cpp: 13 (WebCore::ScrollSnapAnimatorState::setupAnimationForState): 14 * platform/mac/ScrollingEffectsController.mm: 15 (WebCore::ScrollingEffectsController::handleWheelEvent): 16 1 17 2021-12-24 Tim Nguyen <ntim@apple.com> 2 18 -
trunk/Source/WebCore/platform/ScrollSnapAnimatorState.cpp
r286115 r287431 27 27 #include "ScrollSnapAnimatorState.h" 28 28 29 #include "Logging.h" 29 30 #include "ScrollExtents.h" 30 31 #include "ScrollingEffectsController.h" … … 56 57 std::tie(targetOffsetX, m_activeSnapIndexX) = targetOffsetForStartOffset(ScrollEventAxis::Horizontal, scrollExtents, initialOffset.x(), targetOffset, pageScale, initialDelta.width()); 57 58 std::tie(targetOffsetY, m_activeSnapIndexY) = targetOffsetForStartOffset(ScrollEventAxis::Vertical, scrollExtents, initialOffset.y(), targetOffset, pageScale, initialDelta.height()); 58 59 LOG_WITH_STREAM(ScrollAnimations, stream << "ScrollSnapAnimatorState::setupAnimationForState() - target offset " << targetOffset << " modified to " << FloatPoint(targetOffsetX, targetOffsetY)); 59 60 return FloatPoint { targetOffsetX, targetOffsetY }; 60 61 }); -
trunk/Source/WebCore/platform/mac/ScrollingEffectsController.mm
r287397 r287431 142 142 stopRubberBandAnimation(); 143 143 updateRubberBandingState(); 144 return true;145 144 } 146 145 -
trunk/Source/WebKit/ChangeLog
r287420 r287431 1 2021-12-24 Simon Fraser <simon.fraser@apple.com> 2 3 Apply the scroll delta in the "began" wheel event 4 https://bugs.webkit.org/show_bug.cgi?id=234645 5 6 Reviewed by Wenson Hsieh. 7 8 * Shared/WebWheelEventCoalescer.cpp: 9 (WebKit::WebWheelEventCoalescer::nextEventToDispatch): Fix logging typo. 10 1 11 2021-12-23 Wenson Hsieh <wenson_hsieh@apple.com> 2 12 -
trunk/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
r286270 r287431 130 130 #if !LOG_DISABLED 131 131 if (coalescedSequence->size() > 1) 132 LOG_WITH_STREAM(WheelEvents, stream << "WebWheelEventCoalescer::wheelEventWithCoalescing coal sesced " << *coalescedSequence << " into " << coalescedWebEvent);132 LOG_WITH_STREAM(WheelEvents, stream << "WebWheelEventCoalescer::wheelEventWithCoalescing coalesced " << *coalescedSequence << " into " << coalescedWebEvent); 133 133 #endif 134 134
Note:
See TracChangeset
for help on using the changeset viewer.