Changeset 188793 in webkit
- Timestamp:
- Aug 21, 2015 4:09:54 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 90 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r188770 r188793 1 2015-08-21 Alexey Proskuryakov <ap@apple.com> 2 3 Improve how UI events are dispatched by WebKitTestRunner 4 https://bugs.webkit.org/show_bug.cgi?id=148326 5 6 Reviewed by Anders Carlsson. 7 8 * fast/events/clear-drag-state-expected.txt: 9 * fast/events/clear-drag-state.html: 10 * platform/mac-wk2/TestExpectations: 11 This test used to accidentally pass in WebKit2, but it didn't actually check 12 for the problem. This patch improves WK2 behavior, which makes the test fail. 13 Changed the test to not pass accidentally, and added it to WK2 test expectations. 14 15 * fast/events/scroll-in-scaled-page-with-overflow-hidden-expected.txt: 16 * fast/events/scroll-in-scaled-page-with-overflow-hidden.html: 17 Updated the test to be fully async. 18 19 * fast/events/wheelevent-basic-expected.txt: 20 * fast/events/wheelevent-basic.html: 21 Updated the test to be fully async, got rid of tab characters. 22 23 * fast/events/wheelevent-mousewheel-interaction.html: 24 * fast/forms/search/search-scroll-hidden-decoration-container-crash.html: 25 * fast/frames/flattening/scrolling-in-object.html: 26 Updated these tests to be fully async. Since they check for something that happens 27 asynchronously, and doesn't have an end event, they have to use setTimeout. 28 29 * fast/scrolling/latching/iframe_in_iframe.html: 30 * fast/scrolling/latching/scroll-div-latched-div.html: 31 * fast/scrolling/latching/scroll-div-latched-mainframe.html: 32 * fast/scrolling/latching/scroll-div-no-latching.html: 33 * fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html: 34 * fast/scrolling/latching/scroll-iframe-fragment.html: 35 * fast/scrolling/latching/scroll-iframe-latched-iframe.html: 36 * fast/scrolling/latching/scroll-iframe-latched-mainframe.html: 37 * fast/scrolling/latching/scroll-iframe-webkit1-latching-bug.html: 38 * fast/scrolling/latching/scroll-latched-nested-div.html: 39 * fast/scrolling/latching/scroll-nested-iframe.html: 40 * fast/scrolling/latching/scroll-select-bottom-test.html: 41 * fast/scrolling/latching/scroll-select-latched-mainframe.html: 42 * fast/scrolling/latching/scroll-select-latched-select.html: 43 Removed extra testRunner.mouseScrollByWithWheelAndMomentumPhases() calls. 44 We no longer need multiple events for scroll snap animation to start, and due to 45 the way we coalesce events, having multiple events resulted in getting too high velocity. 46 Removed async scrolling argument form the function calls, because it's now always async. 47 48 * platform/mac-wk1/TestExpectations: 49 * platform/mac/TestExpectations: 50 Moved fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html 51 to WK1 expectations, because the test needn't be skipped on WK2. 52 53 * scrollbars/scroll-rtl-or-bt-layer.html: Made the test fully async, and refactored 54 it for clarity. 55 56 * tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html: 57 * tiled-drawing/scrolling/fast-scroll-div-latched-div.html: 58 * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html: 59 * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html: 60 * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html: 61 * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html: 62 * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html: 63 * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html: 64 * tiled-drawing/scrolling/fast-scroll-iframe-latched-select.html: 65 * tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html: 66 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html: 67 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html: 68 * tiled-drawing/scrolling/fast-scroll-select-latched-select.html: 69 * tiled-drawing/scrolling/iframe_in_iframe.html: 70 * tiled-drawing/scrolling/overflow-scroll-reduced-content.html: 71 * tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html: 72 * tiled-drawing/scrolling/root-overflow-with-mousewheel.html: 73 * tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html: 74 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html: 75 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: 76 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html: 77 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html: 78 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html: 79 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html: 80 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless.html: 81 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html: 82 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: 83 * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: 84 * tiled-drawing/scrolling/wheel-events-with-no-delta.html: 85 Same testRunner.mouseScrollByWithWheelAndMomentumPhases changes as in fast/scrolling/latching. 86 87 * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: 88 * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html: 89 Removed debug output about how many events are received. The number may vary due 90 to coalescing. 91 1 92 2015-08-21 Nan Wang <n_wang@apple.com> 2 93 -
trunk/LayoutTests/fast/events/clear-drag-state-expected.txt
r105659 r188793 3 3 Drag me down twice! 4 4 PASS 5 6 span:span:dragenter 7 span:div:dragenter 8 div:div:dragenter 9 span:span:dragleave 10 span:div:dragleave 11 -
trunk/LayoutTests/fast/events/clear-drag-state.html
r120792 r188793 61 61 var firstLog = setLog(''); 62 62 dragSpan(); 63 var secondLog = setLog('PASS ');63 var secondLog = setLog('PASS\n\n' + firstLog); 64 64 if (firstLog != secondLog) 65 65 setLog('FAIL:\nFirst drag:\n' + firstLog + '\nSecond drag:\n' + secondLog); -
trunk/LayoutTests/fast/events/scroll-in-scaled-page-with-overflow-hidden-expected.txt
r87187 r188793 2 2 PASS window.document.body.scrollTop is 0 3 3 PASS window.document.body.scrollTop is 100 4 PASS successfullyParsed is true 4 5 6 TEST COMPLETE 7 -
trunk/LayoutTests/fast/events/scroll-in-scaled-page-with-overflow-hidden.html
r155267 r188793 3 3 html, body { margin:0; overflow: hidden; } 4 4 </style> 5 <script src="../../resources/js-test -pre.js"></script>5 <script src="../../resources/js-test.js"></script> 6 6 </head> 7 7 … … 20 20 } 21 21 22 jsTestIsAsync = true; 23 22 24 // Force a layout. 23 25 document.body.offsetLeft; … … 28 30 shouldBe("window.document.body.scrollTop", "0"); 29 31 32 document.body.onscroll = function() { 33 shouldBe("window.document.body.scrollTop", "100"); 34 finishJSTest(); 35 } 36 30 37 if (window.eventSender) { 31 38 eventSender.mouseMoveTo(100, 100); 32 39 eventSender.mouseScrollBy(0, -5); 33 40 } 34 35 shouldBe("window.document.body.scrollTop", "100");36 41 })(); 37 42 </script> -
trunk/LayoutTests/fast/events/wheelevent-basic-expected.txt
r154673 r188793 19 19 PASS document.onwheel is null 20 20 PASS testDiv.onwheel is null 21 Wheel event fired 21 22 PASS testEvent.__proto__ is WheelEvent.prototype 22 23 PASS testEvent.__proto__.__proto__ is MouseEvent.prototype 24 PASS testEvent.deltaX > 0 is true 25 PASS testEvent.deltaY > 0 is true 23 26 PASS testEvent.deltaZ is 0 24 27 PASS testEvent.deltaMode is WheelEvent.DOM_DELTA_PIXEL 25 PASS deltaX > 0 is true 26 PASS deltaX is expectedDeltaX 27 PASS deltaY > 0 is true 28 PASS deltaY is expectedDeltaY 28 Scroll event fired 29 PASS eventDeltaX is scrollDeltaX 30 PASS eventDeltaY is scrollDeltaY 29 31 PASS successfullyParsed is true 30 32 -
trunk/LayoutTests/fast/events/wheelevent-basic.html
r155267 r188793 5 5 <script src="../../resources/js-test-pre.js"></script> 6 6 <script> 7 var deltaX = 0; 8 var deltaY = 0; 9 var expectedDeltaX; 10 var expectedDeltaY; 7 var eventDeltaX = 0; 8 var eventDeltaY = 0; 9 var scrollDeltaX; 10 var scrollDeltaY; 11 12 jsTestIsAsync = true; 11 13 12 14 var testDiv; … … 26 28 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 27 29 eventSender.mouseScrollBy(-1, -2); 28 expectedDeltaX = testDiv.scrollLeft;29 expectedDeltaY = testDiv.scrollTop;30 shouldBeTrue("deltaX > 0");31 shouldBe("deltaX", "expectedDeltaX");32 shouldBeTrue("deltaY > 0");33 shouldBe("deltaY", "expectedDeltaY");34 30 } else { 35 31 debug("FAIL: This test requires window.eventSender."); … … 39 35 var testEvent; 40 36 function wheelHandler(e) { 37 debug("Wheel event fired"); 41 38 testEvent = e; 42 39 shouldBe("testEvent.__proto__", "WheelEvent.prototype"); 43 40 shouldBe("testEvent.__proto__.__proto__", "MouseEvent.prototype"); 44 if (e.deltaX) 45 deltaX = e.deltaX; 46 if (e.deltaY) 47 deltaY = e.deltaY; 41 shouldBeTrue("testEvent.deltaX > 0"); 42 shouldBeTrue("testEvent.deltaY > 0"); 48 43 shouldBe("testEvent.deltaZ", "0"); 49 44 shouldBe("testEvent.deltaMode", "WheelEvent.DOM_DELTA_PIXEL") 45 eventDeltaX = e.deltaX; 46 eventDeltaY = e.deltaY; 47 } 48 49 function scrollHandler() 50 { 51 debug("Scroll event fired"); 52 scrollDeltaX = testDiv.scrollLeft; 53 scrollDeltaY = testDiv.scrollTop; 54 shouldBe("eventDeltaX", "scrollDeltaX"); 55 shouldBe("eventDeltaY", "scrollDeltaY"); 56 57 finishJSTest(); 50 58 } 51 59 … … 54 62 <body> 55 63 <span id="parent"> 56 <div id="target" style="border:solid 1px green; width:100px; height:70px; overflow:scroll; white-space:nowrap;" >64 <div id="target" style="border:solid 1px green; width:100px; height:70px; overflow:scroll; white-space:nowrap;" onscroll="scrollHandler()"> 57 65 TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP<br/> 58 66 Scroll mouse wheel over here<br/> -
trunk/LayoutTests/fast/events/wheelevent-mousewheel-interaction.html
r155267 r188793 12 12 eventSender.mouseMoveTo(div.offsetLeft + 5, div.offsetTop + 5); 13 13 eventSender.mouseScrollBy(10, 20); 14 finishJSTest();15 14 } else { 16 15 debug("FAIL: This test requires window.eventSender."); … … 24 23 testPassed("Standard wheel event was fired."); 25 24 shouldBe("testEvent.__proto__", "WheelEvent.prototype"); 25 26 setTimeout(finishJSTest, 100); 26 27 } 27 28 -
trunk/LayoutTests/fast/forms/search/search-scroll-hidden-decoration-container-crash.html
r145239 r188793 12 12 <input type="search"> 13 13 <script> 14 if (window.testRunner) 14 if (window.testRunner) { 15 15 testRunner.dumpAsText(); 16 testRunner.waitUntilDone(); 17 } 16 18 17 19 if (window.eventSender) { … … 21 23 eventSender.mouseMoveTo(x, y); 22 24 eventSender.mouseScrollBy(0, 10); 23 document.write('PASS'); 25 26 setTimeout(function() { 27 document.body.appendChild(document.createTextNode('PASS')); 28 if (window.testRunner) 29 testRunner.notifyDone(); 30 }, 100); 24 31 } 25 32 </script> -
trunk/LayoutTests/fast/frames/flattening/scrolling-in-object.html
r150234 r188793 15 15 eventSender.mouseMoveTo(startX, startY); 16 16 eventSender.mouseScrollBy(0, -4); 17 testRunner.notifyDone(); 17 setTimeout(function() { 18 testRunner.notifyDone(); 19 }, 100); 18 20 } 19 21 } -
trunk/LayoutTests/fast/scrolling/latching/iframe_in_iframe.html
r188160 r188793 78 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 79 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');83 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 84 81 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/fast/scrolling/latching/scroll-div-latched-div.html
r188160 r188793 68 68 var startPosY = Math.round(divTarget.offsetTop) + 100; // One wheel turn before end. 69 69 eventSender.mouseMoveTo(startPosX, startPosY); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 72 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 77 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 72 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 80 77 setTimeout(checkForScroll, 100); 81 78 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-div-latched-mainframe.html
r188160 r188793 71 71 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 72 72 debug("Mouse moved to (" + startPosX + ", " + startPosY + ")"); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 77 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 77 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 83 80 setTimeout(checkForScroll, 100); 84 81 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-div-no-latching.html
r188160 r188793 66 66 67 67 //debug("Page before: " + pageScrollPositionBefore + ", div before: " + divScrollPositionBefore); 68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none' , true);69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 1, 'none', 'none' , true);70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none' , true);71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 1, 'none', 'none' , true);68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none'); 69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 1, 'none', 'none'); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none'); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 1, 'none', 'none'); 72 72 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none' , true);74 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none' , true);75 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none' , true);76 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none' , true);73 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none'); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none'); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none'); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'none'); 77 77 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none' , true);79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none' , true);80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none' , true);78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none'); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'none'); 81 81 82 82 setTimeout(checkForScroll, 100); -
trunk/LayoutTests/fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html
r188160 r188793 68 68 69 69 eventSender.mouseMoveTo(startPosX, startPosY); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 72 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 77 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 72 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 74 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 75 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 76 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 80 77 eventSender.callAfterScrollingCompletes(checkForScroll); 81 78 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-iframe-fragment.html
r188160 r188793 43 43 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 44 44 debug("Mouse moved to (" + startPosX + ", " + startPosY + ")"); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 55 52 setTimeout(checkForScroll, 100); 56 53 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-iframe-latched-iframe.html
r188160 r188793 47 47 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 48 48 debug("Mouse moved to (" + startPosX + ", " + startPosY + ")"); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 59 56 setTimeout(checkForScroll, 100); 60 57 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-iframe-latched-mainframe.html
r188160 r188793 42 42 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 43 43 debug("Mouse moved to (" + startPosX + ", " + startPosY + ")"); 44 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 44 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 54 51 setTimeout(checkForScroll, 100); 55 52 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-iframe-webkit1-latching-bug.html
r188160 r188793 43 43 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iframe 44 44 debug("Mouse moved to (" + startPosX + ", " + startPosY + ")"); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 45 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 46 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 55 52 setTimeout(checkForScroll, 100); 56 53 } -
trunk/LayoutTests/fast/scrolling/latching/scroll-latched-nested-div.html
r188160 r188793 94 94 wrapperScrollPositionBefore = wrapperTarget.scrollTop; 95 95 96 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 97 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 98 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 99 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 100 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 101 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 102 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 103 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 104 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 105 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 96 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 97 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 98 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 99 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 100 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 101 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 102 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 106 103 // The timeout used to be only 100, but when we added support for rubber-banding in overflow 107 104 // areas, we found we had to increase the timeout to allow the rubber-band to finish. … … 126 123 var startPosY = Math.round(divTarget.offsetTop) - 42; // One wheel turn before end. 127 124 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 128 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', true); 129 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 130 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', true); 131 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', true); 132 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'begin', true); 133 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'continue', true); 134 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'continue', true); 135 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'continue', true); 136 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'continue', true); 137 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 125 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 126 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 127 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 128 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 129 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -5, 'none', 'begin'); 130 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, 'none', 'continue'); 131 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 138 132 // The timeout used to be only 100, but when we added support for rubber-banding in overflow 139 133 // areas, we found we had to increase the timeout to allow the rubber-band to finish. -
trunk/LayoutTests/fast/scrolling/latching/scroll-nested-iframe.html
r188160 r188793 56 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 57 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);59 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);60 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);61 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 62 59 setTimeout(checkForScroll, 100); -
trunk/LayoutTests/fast/scrolling/latching/scroll-select-bottom-test.html
r188160 r188793 81 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 82 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);86 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 87 84 setTimeout(checkForScroll, 100); -
trunk/LayoutTests/fast/scrolling/latching/scroll-select-latched-mainframe.html
r188160 r188793 77 77 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 78 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);82 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 83 80 setTimeout(checkForScroll, 100); -
trunk/LayoutTests/fast/scrolling/latching/scroll-select-latched-select.html
r188160 r188793 79 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', true); 80 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', true);84 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', true); 85 82 setTimeout(checkForScroll, 100); -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r188353 r188793 113 113 scrollbars/scrolling-by-page-on-keyboard-spacebar.html 114 114 115 # This test times out. 116 webkit.org/b/147683 fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html [ Skip ] 117 115 118 compositing/rtl/rtl-fixed-overflow-scrolled.html [ Failure ] 116 119 -
trunk/LayoutTests/platform/mac-wk2/TestExpectations
r188159 r188793 160 160 editing/selection/select-across-readonly-input-4.html 161 161 editing/selection/select-across-readonly-input-5.html 162 fast/events/clear-drag-state.html 162 163 fast/events/drag-and-drop-subframe-dataTransfer.html 163 164 fast/events/drag-selects-image.html -
trunk/LayoutTests/platform/mac/TestExpectations
r188770 r188793 1273 1273 [ ElCapitan+ ] fast/canvas/canvas-too-large-to-draw.html [ Crash ] 1274 1274 1275 # WK1-only timeout.1276 webkit.org/b/147683 fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html [ Skip ]1277 1278 1275 webkit.org/b/147763 [ Mavericks Yosemite ] accessibility/mac/loaded-notification.html [ Skip ] 1279 1276 -
trunk/LayoutTests/scrollbars/scroll-rtl-or-bt-layer.html
r120417 r188793 32 32 } 33 33 34 function centerMouseOn(element Id)34 function centerMouseOn(element) 35 35 { 36 var element = document.getElementById(elementId);37 36 eventSender.mouseMoveTo(element.offsetLeft + element.offsetWidth / 2, 38 37 element.offsetTop + element.offsetHeight / 2); 39 38 } 40 39 40 function testRTL() 41 { 42 var rtl = document.getElementById("rtl"); 43 centerMouseOn(rtl); 44 var offsetBefore = rtl.scrollLeft; 45 46 rtl.onscroll = function() { 47 var offsetAfter = rtl.scrollLeft; 48 if (offsetBefore > offsetAfter) 49 log("rtl: PASS"); 50 else { 51 log("rtl: FAIL"); 52 log("scrollLeft before: " + offsetBefore); 53 log("scrollLeft after: " + offsetAfter); 54 } 55 testBT(); 56 } 57 58 eventSender.mouseScrollBy(1, 0); 59 } 60 61 function testBT() 62 { 63 var bt = document.getElementById("bt"); 64 centerMouseOn(bt); 65 offsetBefore = bt.scrollTop; 66 bt.onscroll = function() { 67 offsetAfter = bt.scrollTop; 68 if (offsetBefore > offsetAfter) 69 log("bt: PASS"); 70 else { 71 log("bt: FAIL"); 72 log("scrollTop before: " + offsetBefore); 73 log("scrollTop after: " + offsetAfter); 74 } 75 76 document.body.removeChild(document.getElementById("rtl")); 77 document.body.removeChild(document.getElementById("bt")); 78 testRunner.notifyDone(); 79 } 80 81 eventSender.mouseScrollBy(0, 1); 82 } 83 41 84 function test() 42 85 { 43 if (window.testRunner) 86 if (window.testRunner) { 44 87 testRunner.dumpAsText(); 88 testRunner.waitUntilDone(); 89 } 45 90 46 91 if (!window.eventSender || !window.eventSender.mouseScrollBy) { … … 49 94 } 50 95 51 centerMouseOn("rtl"); 52 var offsetBefore = document.getElementById("rtl").scrollLeft; 53 eventSender.mouseScrollBy(1, 0); 54 var offsetAfter = document.getElementById("rtl").scrollLeft; 55 if (offsetBefore > offsetAfter) 56 log("rtl: PASS"); 57 else { 58 log("rtl: FAIL"); 59 log("scrollLeft before: " + offsetBefore); 60 log("scrollLeft after: " + offsetAfter); 61 } 62 63 centerMouseOn("bt"); 64 offsetBefore = document.getElementById("bt").scrollTop; 65 eventSender.mouseScrollBy(0, 1); 66 offsetAfter = document.getElementById("bt").scrollTop; 67 if (offsetBefore > offsetAfter) 68 log("bt: PASS"); 69 else { 70 log("bt: FAIL"); 71 log("scrollTop before: " + offsetBefore); 72 log("scrollTop after: " + offsetAfter); 73 } 74 75 document.body.removeChild(document.getElementById("rtl")); 76 document.body.removeChild(document.getElementById("bt")); 96 testRTL(); 77 97 } 78 98 -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html
r187905 r188793 84 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 85 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');89 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 90 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div.html
r187905 r188793 78 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 79 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');83 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 84 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html
r187905 r188793 91 91 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 92 92 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 93 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 94 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 95 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 96 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 93 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 97 94 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 98 95 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html
r187905 r188793 84 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 85 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 90 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 91 88 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html
r187905 r188793 63 63 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 64 64 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 65 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');66 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');67 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');68 65 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 69 66 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html
r187905 r188793 53 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 54 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');58 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 59 56 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html
r187905 r188793 66 66 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 67 67 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 72 69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 73 70 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html
r187905 r188793 59 59 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 60 60 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 61 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 62 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 63 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 64 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 61 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 65 62 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 66 63 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-select.html
r187905 r188793 58 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 59 59 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 60 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');61 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');62 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');63 60 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 64 61 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html
r187905 r188793 46 46 var startPosY = Math.round(selectTarget.offsetTop) - 42; // Slightly more than one wheel scroll away from the target div 47 47 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the target div 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none' , true);48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 49 49 for (var i = 0; i < 40; ++i) { 50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, 'changed', 'none' , true);50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, 'changed', 'none'); 51 51 } 52 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html
r187905 r188793 90 90 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 91 91 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 92 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 93 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 94 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 95 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 92 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 96 93 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 97 94 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html
r187905 r188793 84 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 85 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 90 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 91 88 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt
r187905 r188793 14 14 Mouse moved to (30, 238) 15 15 PASS Page did not receive wheel events. 16 Document was initial target for 8 of the wheel events.17 16 (GraphicsLayer 18 17 (anchor 0.00 0.00) 19 (bounds 2008.00 2 311.00)18 (bounds 2008.00 2296.00) 20 19 (visible rect 0.00, 0.00 785.00 x 585.00) 21 20 (coverage rect 0.00, 0.00 785.00 x 585.00) … … 24 23 (children 1 25 24 (GraphicsLayer 26 (bounds 2008.00 2 311.00)25 (bounds 2008.00 2296.00) 27 26 (contentsOpaque 1) 28 27 (visible rect 0.00, 0.00 785.00 x 585.00) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html
r187905 r188793 58 58 testPassed("Page did not receive wheel events."); 59 59 60 debug("Document was initial target for " + wheelCount + " of the wheel events.");61 62 60 if (window.internals) { 63 61 document.getElementById('layers').innerText = internals.layerTreeAsText(document, … … 88 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 89 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 90 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');91 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');92 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');93 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 94 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select.html
r187905 r188793 81 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 82 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');86 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 87 84 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/iframe_in_iframe.html
r187905 r188793 78 78 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 79 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');83 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 84 81 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/overflow-scroll-reduced-content.html
r187905 r188793 56 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 57 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');59 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');60 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');61 58 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 62 59 -
trunk/LayoutTests/tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html
r187905 r188793 47 47 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 48 48 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');50 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');51 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');52 49 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 53 50 eventSender.callAfterScrollingCompletes(checkForZero); -
trunk/LayoutTests/tiled-drawing/scrolling/root-overflow-with-mousewheel.html
r187905 r188793 28 28 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 29 29 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 30 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 31 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 32 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 33 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 30 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, 'none', 'continue'); 34 31 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 35 32 eventSender.callAfterScrollingCompletes(checkForScroll); -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html
r188509 r188793 84 84 var startPosY = windowPosition.y + 0.5 * iframeTarget.clientHeight; 85 85 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none' , false);87 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);88 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);86 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 90 90 eventSender.callAfterScrollingCompletes(function() { return checkForScrollSnap(targetLabel); }); 91 91 } … … 133 133 var startPosY = windowPosition.y + 0.5 * iframeTarget.clientHeight; 134 134 eventSender.mouseMoveTo(startPosX, startPosY); 135 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none', false); 136 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 137 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 138 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 139 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 140 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin', false); 141 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 142 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 143 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 144 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 145 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 135 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 136 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 137 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 138 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 139 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 140 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin'); 141 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue'); 142 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 146 143 eventSender.callAfterScrollingCompletes(function() { return checkForScrollGlide(targetLabel); }); 147 144 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html
r188509 r188793 59 59 }; 60 60 eventSender.mouseMoveTo(100, 100); 61 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "began", "none", false); 62 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "changed", "none", false); 63 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "changed", "none", false); 64 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none", false); 65 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none", false); 66 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none", false); 67 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none", false); 68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "begin", false); 69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "continue", false); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "continue", false); 71 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "continue", false); 72 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "continue", false); 73 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "none", "end", false); 61 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "began", "none"); 62 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "changed", "none"); 63 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, "changed", "none"); 64 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none"); 65 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none"); 66 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "changed", "none"); 67 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none"); 68 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "begin"); 69 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, "none", "continue"); 70 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "none", "end"); 74 71 eventSender.callAfterScrollingCompletes(checkForSingleAxisGlide); 75 72 } … … 90 87 91 88 eventSender.mouseMoveTo(100, 100); 92 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "began", "none" , false);93 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "changed", "none" , false);94 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "changed", "none" , false);95 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none" , false);89 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "began", "none"); 90 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "changed", "none"); 91 eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 1, "changed", "none"); 92 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none"); 96 93 eventSender.callAfterScrollingCompletes(checkForScrollSnap); 97 94 } … … 114 111 115 112 eventSender.mouseMoveTo(100, 100); 116 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "began", "none", false); 117 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none", false); 118 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none", false); 119 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none", false); 120 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none", false); 121 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "begin", false); 122 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "continue", false); 123 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "continue", false); 124 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "continue", false); 125 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "continue", false); 126 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "none", "end", false); 113 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "began", "none"); 114 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none"); 115 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none"); 116 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "changed", "none"); 117 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "ended", "none"); 118 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "begin"); 119 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, -1, "none", "continue"); 120 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, "none", "end"); 127 121 eventSender.callAfterScrollingCompletes(checkForScrollGlide); 128 122 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html
r188509 r188793 117 117 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 118 118 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 119 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none' , false);120 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);121 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);122 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);119 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 120 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 121 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 122 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 123 123 eventSender.callAfterScrollingCompletes(function() { return checkForScrollSnap(targetLabel); }); 124 124 } … … 164 164 var startPosY = windowPosition.y + 50; 165 165 eventSender.mouseMoveTo(startPosX, startPosY); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none', false); 167 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 168 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 169 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 170 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 171 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin', false); 172 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 173 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 174 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 175 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 176 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 167 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 168 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 169 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 170 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 171 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin'); 172 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue'); 173 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 177 174 eventSender.callAfterScrollingCompletes(function() { return checkForScrollGlide(targetLabel); }); 178 175 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html
r188509 r188793 52 52 var startPosY = divTarget.offsetTop + 20; 53 53 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none' , false);55 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none' , false);56 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none' , false);57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);54 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none'); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 58 58 eventSender.callAfterScrollingCompletes(checkForScrollSnap); 59 59 } … … 77 77 var startPosY = divTarget.offsetTop + 20; 78 78 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none', false); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'begin', false); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'begin'); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 90 87 eventSender.callAfterScrollingCompletes(checkForScrollGlide); 91 88 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html
r188509 r188793 52 52 var startPosY = divTarget.offsetTop + 20; 53 53 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none' , false);55 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none' , false);56 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none' , false);57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);54 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none'); 55 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 56 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 58 58 eventSender.callAfterScrollingCompletes(checkForScrollSnap); 59 59 } … … 77 77 var startPosY = divTarget.offsetTop + 20; 78 78 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none', false); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none', false); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'begin', false); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'continue', false); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'began', 'none'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'changed', 'none'); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(-1, 0, 'none', 'begin'); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(-4, 0, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 90 87 eventSender.callAfterScrollingCompletes(checkForScrollGlide); 91 88 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html
r188509 r188793 52 52 var startPosY = divTarget.offsetTop + 20; 53 53 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none' , false);55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none' , false);56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none' , false);57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);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'); 58 58 eventSender.callAfterScrollingCompletes(checkForScrollSnap); 59 59 } … … 77 77 var startPosY = divTarget.offsetTop + 20; 78 78 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', false); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', false); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 90 87 eventSender.callAfterScrollingCompletes(checkForScrollGlide); 91 88 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html
r188509 r188793 52 52 var startPosY = divTarget.offsetTop + 20; 53 53 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none' , false);55 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none' , false);56 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none' , false);57 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);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'); 58 58 eventSender.callAfterScrollingCompletes(checkForScrollSnap); 59 59 } … … 77 77 var startPosY = divTarget.offsetTop + 20; 78 78 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none', false); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none', false); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin', false); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 87 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 88 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue', false); 89 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 79 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 80 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 81 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 82 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 83 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 84 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 85 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -4, 'none', 'continue'); 86 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 90 87 eventSender.callAfterScrollingCompletes(checkForScrollGlide); 91 88 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless.html
r188509 r188793 50 50 eventSender.mouseMoveTo(startPosX, startPosY); 51 51 // Each unit of stateless scroll is scaled by 10 pixels. 52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none" , false);53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none" , false);54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none" , false);52 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none"); 53 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none"); 54 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -10, "none", "none"); 55 55 // Wait for the snapping to finish. 56 56 setTimeout(function() { -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html
r188509 r188793 107 107 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 108 108 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 109 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none' , false);110 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);111 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);112 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);109 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 110 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 111 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 112 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 113 113 eventSender.callAfterScrollingCompletes(function() { return checkForScrollSnap(targetLabel); }); 114 114 } … … 154 154 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 155 155 eventSender.mouseMoveTo(startPosX, startPosY); 156 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none', false); 157 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 158 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 159 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 160 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 161 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin', false); 162 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 163 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 164 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 165 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 156 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 157 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 158 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 159 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 160 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 161 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin'); 162 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue'); 163 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 167 164 eventSender.callAfterScrollingCompletes(function() { return checkForScrollGlide(targetLabel); }); 168 165 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html
r188509 r188793 115 115 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 116 116 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 117 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none' , false);118 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);119 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);120 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);117 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 118 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 119 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 120 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 121 121 eventSender.callAfterScrollingCompletes(function() { return checkForScrollSnap(targetLabel); }); 122 122 } … … 164 164 var startPosY = windowPosition.y + 50; 165 165 eventSender.mouseMoveTo(startPosX, startPosY); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none', false); 167 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 168 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 169 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 170 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 171 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin', false); 172 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 173 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 174 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 175 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 176 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 167 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 168 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 169 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 170 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 171 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin'); 172 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue'); 173 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 177 174 eventSender.callAfterScrollingCompletes(function() { return checkForScrollGlide(targetLabel); }); 178 175 } -
trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html
r188509 r188793 109 109 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 110 110 eventSender.mouseMoveTo(startPosX, startPosY); // Make sure we are just outside the iFrame 111 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none' , false);112 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);113 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none' , false);114 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none' , false);111 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 112 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 113 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 114 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 115 115 eventSender.callAfterScrollingCompletes(function() { return checkForScrollSnap(targetLabel); }); 116 116 } … … 156 156 var startPosY = windowPosition.y + 0.5 * divTarget.clientHeight; 157 157 eventSender.mouseMoveTo(startPosX, startPosY); 158 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none', false); 159 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 160 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 161 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none', false); 162 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none', false); 163 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin', false); 164 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 165 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 166 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 167 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue', false); 168 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end', false); 158 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'began', 'none'); 159 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 160 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 161 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'changed', 'none'); 162 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 163 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'begin'); 164 eventSender.mouseScrollByWithWheelAndMomentumPhases(dx, dy, 'none', 'continue'); 165 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 169 166 eventSender.callAfterScrollingCompletes(function() { return checkForScrollGlide(targetLabel); }); 170 167 } -
trunk/LayoutTests/tiled-drawing/scrolling/wheel-events-with-no-delta.html
r187905 r188793 20 20 { 21 21 eventSender.mouseMoveTo(20, 20); 22 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'began', 'none'); 23 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 24 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none'); 22 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none'); 23 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'changed', 'none'); 25 24 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none'); 26 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'begin'); 27 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 28 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 29 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 30 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue'); 25 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin'); 26 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'continue'); 31 27 eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end'); 32 28 } -
trunk/Source/WebKit2/ChangeLog
r188775 r188793 1 2015-08-21 Alexey Proskuryakov <ap@apple.com> 2 3 Improve how UI events are dispatched by WebKitTestRunner 4 https://bugs.webkit.org/show_bug.cgi?id=148326 5 6 Reviewed by Anders Carlsson. 7 8 Added "fully synchronous mode for testing", in which all messages are dispatched 9 synchronously. 10 11 When an async message is sent in this mode, it is wrapped into a sync one automatically. 12 13 A client must opt in, either by using WKBundlePagePostSynchronousMessageForTesting(), 14 or by calling WKContextConfigurationAllowFullySynchronousModeForTesting(). 15 This makes sure that we don't increase potential for IPC misuse. 16 17 * WebProcess/WebPage/WebPage.messages.in: Yay, fewer messages! 18 19 * UIProcess/API/C/WKPage.cpp: 20 (WKPageSetShouldSendEventsSynchronously): Deleted. 21 * UIProcess/API/C/WKPagePrivate.h: 22 We no longer need WKPageSetShouldSendEventsSynchronously and associated custom messages. 23 24 * WebProcess/WebPage/EventDispatcher.cpp: 25 (WebKit::EventDispatcher::wheelEvent): 26 (WebKit::updateWheelEventTestTriggersIfNeeded): Deleted. 27 Removed code that was only needed to support pseudo-syncronous scrolling in tests. 28 29 * Platform/IPC/Connection.cpp: 30 (IPC::Connection::sendMessage): 31 (IPC::Connection::dispatchSyncMessage): 32 (IPC::Connection::dispatchMessage): 33 * Platform/IPC/Connection.h: 34 (IPC::Connection::allowFullySynchronousModeForTesting): 35 (IPC::Connection::sendSync): 36 * Platform/IPC/MessageDecoder.cpp: 37 (IPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply): 38 (IPC::MessageDecoder::shouldUseFullySynchronousModeForTesting): 39 (IPC::MessageDecoder::setImportanceAssertion): 40 (IPC::MessageDecoder::unwrapForTesting): 41 * Platform/IPC/MessageDecoder.h: 42 (IPC::MessageDecoder::UUID): 43 * Platform/IPC/MessageEncoder.cpp: 44 (IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply): 45 (IPC::MessageEncoder::setFullySynchronousModeForTesting): 46 (IPC::MessageEncoder::wrapForTesting): 47 * Platform/IPC/MessageEncoder.h: 48 (IPC::MessageEncoder::UUID): 49 * Platform/IPC/MessageFlags.h: 50 * UIProcess/API/APIProcessPoolConfiguration.cpp: 51 (API::ProcessPoolConfiguration::copy): 52 * UIProcess/API/APIProcessPoolConfiguration.h: 53 * UIProcess/API/C/WKContextConfigurationRef.cpp: 54 (WKContextConfigurationSetMediaKeysStorageDirectory): 55 (WKContextConfigurationAllowFullySynchronousModeForTesting): 56 * UIProcess/API/C/WKContextConfigurationRef.h: 57 58 * UIProcess/WebPageProxy.cpp: 59 (WebKit::WebPageProxy::WebPageProxy): 60 (WebKit::WebPageProxy::handleMouseEvent): 61 (WebKit::WebPageProxy::sendWheelEvent): 62 (WebKit::WebPageProxy::handleKeyboardEvent): 63 (WebKit::WebPageProxy::handleTouchEvent): 64 * UIProcess/WebPageProxy.h: 65 (WebKit::WebPageProxy::renderTreeSize): 66 (WebKit::WebPageProxy::setShouldSendEventsSynchronously): Deleted. 67 * UIProcess/WebProcessPool.cpp: 68 (WebKit::WebProcessPool::processDidFinishLaunching): 69 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 70 (WKBundlePagePostMessage): 71 (WKBundlePagePostSynchronousMessageForTesting): 72 (WKBundlePagePostSynchronousMessage): Deleted. 73 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 74 * WebProcess/WebPage/WebPage.cpp: 75 (WebKit::WebPage::mouseEvent): 76 (WebKit::handleWheelEvent): 77 (WebKit::WebPage::wheelEvent): 78 (WebKit::handleKeyEvent): 79 (WebKit::WebPage::keyEvent): 80 (WebKit::WebPage::validateCommand): 81 (WebKit::WebPage::touchEvent): 82 (WebKit::WebPage::scroll): 83 (WebKit::WebPage::postMessage): 84 (WebKit::WebPage::postSynchronousMessageForTesting): 85 (WebKit::WebPage::mouseEventSyncForTesting): Deleted. 86 (WebKit::WebPage::wheelEventSyncForTesting): Deleted. 87 (WebKit::WebPage::keyEventSyncForTesting): Deleted. 88 (WebKit::WebPage::touchEventSyncForTesting): Deleted. 89 (WebKit::WebPage::postSynchronousMessage): Deleted. 90 * WebProcess/WebPage/WebPage.h: 91 1 92 2015-08-20 Matt Rajca <mrajca@apple.com> 2 93 -
trunk/Source/WebKit2/Platform/IPC/Connection.cpp
r188642 r188793 350 350 return false; 351 351 352 if (m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting && !encoder->isSyncMessage() && !(encoder->messageReceiverName() == "IPC")) { 353 uint64_t syncRequestID; 354 auto wrappedMessage = createSyncMessageEncoder("IPC", "WrappedAsyncMessageForTesting", encoder->destinationID(), syncRequestID); 355 wrappedMessage->setFullySynchronousModeForTesting(); 356 wrappedMessage->wrapForTesting(WTF::move(encoder)); 357 return static_cast<bool>(sendSyncMessage(syncRequestID, WTF::move(wrappedMessage), std::chrono::milliseconds::max())); 358 } 359 352 360 if (messageSendFlags & DispatchMessageEvenWhenWaitingForSyncReply 353 361 && (!m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage … … 833 841 #endif 834 842 835 // Hand off both the decoder and encoder to the client. 836 m_client->didReceiveSyncMessage(*this, decoder, replyEncoder); 843 if (decoder.messageReceiverName() == "IPC" && decoder.messageName() == "WrappedAsyncMessageForTesting") { 844 if (!m_fullySynchronousModeIsAllowedForTesting) { 845 decoder.markInvalid(); 846 return; 847 } 848 std::unique_ptr<MessageDecoder> unwrappedDecoder = MessageDecoder::unwrapForTesting(decoder); 849 RELEASE_ASSERT(unwrappedDecoder); 850 processIncomingMessage(WTF::move(unwrappedDecoder)); 851 852 SyncMessageState::singleton().dispatchMessages(nullptr); 853 } else { 854 // Hand off both the decoder and encoder to the client. 855 m_client->didReceiveSyncMessage(*this, decoder, replyEncoder); 856 } 837 857 838 858 // FIXME: If the message was invalid, we should send back a SyncMessageError. … … 888 908 return; 889 909 910 if (message->shouldUseFullySynchronousModeForTesting()) { 911 if (!m_fullySynchronousModeIsAllowedForTesting) { 912 m_client->didReceiveInvalidMessage(*this, message->messageReceiverName(), message->messageName()); 913 return; 914 } 915 m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting++; 916 } 917 890 918 m_inDispatchMessageCount++; 891 919 … … 909 937 m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount--; 910 938 939 if (message->shouldUseFullySynchronousModeForTesting()) 940 m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting--; 941 911 942 if (m_didReceiveInvalidMessage && m_client) 912 943 m_client->didReceiveInvalidMessage(*this, message->messageReceiverName(), message->messageName()); -
trunk/Source/WebKit2/Platform/IPC/Connection.h
r188642 r188793 69 69 // FIXME (126021): Remove when no platforms need to support this. 70 70 SpinRunLoopWhileWaitingForReply = 1 << 1, 71 UseFullySynchronousModeForTesting = 1 << 2, 71 72 }; 72 73 … … 206 207 bool hasIncomingSyncMessage(); 207 208 209 void allowFullySynchronousModeForTesting() { m_fullySynchronousModeIsAllowedForTesting = true; } 210 208 211 private: 209 212 Connection(Identifier, bool isServer, Client&); … … 257 260 unsigned m_inDispatchMessageCount; 258 261 unsigned m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount; 262 unsigned m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting { 0 }; 263 bool m_fullySynchronousModeIsAllowedForTesting { false }; 259 264 bool m_didReceiveInvalidMessage; 260 265 … … 369 374 uint64_t syncRequestID = 0; 370 375 std::unique_ptr<MessageEncoder> encoder = createSyncMessageEncoder(T::receiverName(), T::name(), destinationID, syncRequestID); 371 376 377 if (syncSendFlags & SyncMessageSendFlags::UseFullySynchronousModeForTesting) { 378 encoder->setFullySynchronousModeForTesting(); 379 m_fullySynchronousModeIsAllowedForTesting = true; 380 } 381 372 382 // Encode the rest of the input arguments. 373 383 encoder->encode(message.arguments()); -
trunk/Source/WebKit2/Platform/IPC/MessageDecoder.cpp
r182028 r188793 75 75 } 76 76 77 bool MessageDecoder::shouldUseFullySynchronousModeForTesting() const 78 { 79 return m_messageFlags & UseFullySynchronousModeForTesting; 80 } 81 77 82 #if PLATFORM(MAC) 78 83 void MessageDecoder::setImportanceAssertion(std::unique_ptr<ImportanceAssertion> assertion) … … 82 87 #endif 83 88 89 std::unique_ptr<MessageDecoder> MessageDecoder::unwrapForTesting(MessageDecoder& decoder) 90 { 91 ASSERT(decoder.isSyncMessage()); 92 93 Vector<Attachment> attachments; 94 Attachment attachment; 95 while (decoder.removeAttachment(attachment)) 96 attachments.append(WTF::move(attachment)); 97 attachments.reverse(); 98 99 DataReference wrappedMessage; 100 if (!decoder.decode(wrappedMessage)) 101 return nullptr; 102 103 return std::make_unique<MessageDecoder>(wrappedMessage, WTF::move(attachments)); 104 } 105 84 106 } // namespace IPC -
trunk/Source/WebKit2/Platform/IPC/MessageDecoder.h
r182028 r188793 55 55 bool isSyncMessage() const; 56 56 bool shouldDispatchMessageWhenWaitingForSyncReply() const; 57 bool shouldUseFullySynchronousModeForTesting() const; 57 58 58 59 #if PLATFORM(MAC) … … 69 70 const uuid_t& UUID() const { return m_UUID; } 70 71 #endif 72 73 static std::unique_ptr<MessageDecoder> unwrapForTesting(MessageDecoder&); 71 74 72 75 private: -
trunk/Source/WebKit2/Platform/IPC/MessageEncoder.cpp
r184555 r188793 28 28 29 29 #include "ArgumentCoders.h" 30 #include "DataReference.h" 30 31 #include "MessageFlags.h" 31 32 #include "MessageRecorder.h" … … 101 102 } 102 103 104 void MessageEncoder::setFullySynchronousModeForTesting() 105 { 106 *buffer() |= UseFullySynchronousModeForTesting; 107 } 108 109 void MessageEncoder::wrapForTesting(std::unique_ptr<MessageEncoder> original) 110 { 111 ASSERT(isSyncMessage()); 112 ASSERT(!original->isSyncMessage()); 113 114 original->setShouldDispatchMessageWhenWaitingForSyncReply(true); 115 116 encodeVariableLengthByteArray(DataReference(original->buffer(), original->bufferSize())); 117 118 Vector<Attachment> attachments = original->releaseAttachments(); 119 reserve(attachments.size()); 120 for (Attachment& attachment : attachments) 121 addAttachment(WTF::move(attachment)); 122 } 123 103 124 } // namespace IPC -
trunk/Source/WebKit2/Platform/IPC/MessageEncoder.h
r179346 r188793 57 57 bool shouldDispatchMessageWhenWaitingForSyncReply() const; 58 58 59 void setFullySynchronousModeForTesting(); 60 59 61 #if HAVE(DTRACE) 60 62 const uuid_t& UUID() const { return m_UUID; } 61 63 #endif 64 65 void wrapForTesting(std::unique_ptr<MessageEncoder>); 62 66 63 67 private: -
trunk/Source/WebKit2/Platform/IPC/MessageFlags.h
r161148 r188793 32 32 SyncMessage = 1 << 0, 33 33 DispatchMessageWhenWaitingForSyncReply = 1 << 1, 34 UseFullySynchronousModeForTesting = 1 << 2, 34 35 }; 35 36 -
trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp
r185262 r188793 88 88 copy->m_webSQLDatabaseDirectory = this->m_webSQLDatabaseDirectory; 89 89 copy->m_cachePartitionedURLSchemes = this->m_cachePartitionedURLSchemes; 90 copy->m_fullySynchronousModeIsAllowedForTesting = this->m_fullySynchronousModeIsAllowedForTesting; 90 91 91 92 return copy; -
trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h
r185736 r188793 88 88 void setCachePartitionedURLSchemes(Vector<WTF::String>&& cachePartitionedURLSchemes) { m_cachePartitionedURLSchemes = WTF::move(cachePartitionedURLSchemes); } 89 89 90 bool fullySynchronousModeIsAllowedForTesting() const { return m_fullySynchronousModeIsAllowedForTesting; } 91 void setFullySynchronousModeIsAllowedForTesting(bool allowed) { m_fullySynchronousModeIsAllowedForTesting = allowed; } 92 90 93 private: 91 94 bool m_shouldHaveLegacyDataStore { false }; … … 105 108 WTF::String m_mediaKeysStorageDirectory; 106 109 Vector<WTF::String> m_cachePartitionedURLSchemes; 110 bool m_fullySynchronousModeIsAllowedForTesting { false }; 107 111 }; 108 112 -
trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp
r185262 r188793 112 112 toImpl(configuration)->setMediaKeysStorageDirectory(toImpl(mediaKeysStorageDirectory)->string()); 113 113 } 114 115 bool WKContextConfigurationFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration) 116 { 117 return toImpl(configuration)->fullySynchronousModeIsAllowedForTesting(); 118 } 119 120 void WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration, bool allowed) 121 { 122 toImpl(configuration)->setFullySynchronousModeIsAllowedForTesting(allowed); 123 } -
trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h
r185262 r188793 56 56 WK_EXPORT void WKContextConfigurationSetMediaKeysStorageDirectory(WKContextConfigurationRef configuration, WKStringRef mediaKeysStorageDirectory); 57 57 58 WK_EXPORT bool WKContextConfigurationFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration); 59 WK_EXPORT void WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration, bool allowed); 60 58 61 #ifdef __cplusplus 59 62 } -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r188606 r188793 2284 2284 #endif 2285 2285 2286 void WKPageSetShouldSendEventsSynchronously(WKPageRef page, bool sync)2287 {2288 toImpl(page)->setShouldSendEventsSynchronously(sync);2289 }2290 2291 2286 bool WKPageGetAllowsRemoteInspection(WKPageRef page) 2292 2287 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
r186913 r188793 83 83 WK_EXPORT void WKPageEndPrinting(WKPageRef page); 84 84 85 WK_EXPORT void WKPageSetShouldSendEventsSynchronously(WKPageRef page, bool sync);86 87 85 WK_EXPORT bool WKPageGetAllowsRemoteInspection(WKPageRef page); 88 86 WK_EXPORT void WKPageSetAllowsRemoteInspection(WKPageRef page, bool allow); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r188775 r188793 428 428 , m_wantsSessionRestorationRenderTreeSizeThresholdEvent(false) 429 429 , m_hitRenderTreeSizeThreshold(false) 430 , m_shouldSendEventsSynchronously(false)431 430 , m_suppressVisibilityUpdates(false) 432 431 , m_autoSizingShouldExpandToViewHeight(false) … … 1687 1686 m_currentlyProcessedMouseDownEvent = std::make_unique<NativeWebMouseEvent>(event); 1688 1687 1689 if (m_shouldSendEventsSynchronously) { 1690 bool handled = false; 1691 m_process->sendSync(Messages::WebPage::MouseEventSyncForTesting(event), Messages::WebPage::MouseEventSyncForTesting::Reply(handled), m_pageID); 1692 didReceiveEvent(event.type(), handled); 1693 } else 1694 m_process->send(Messages::WebPage::MouseEvent(event), m_pageID); 1688 m_process->send(Messages::WebPage::MouseEvent(event), m_pageID); 1695 1689 } 1696 1690 … … 1799 1793 m_process->responsivenessTimer()->start(); 1800 1794 1801 if (m_shouldSendEventsSynchronously) {1802 bool handled = false;1803 m_process->sendSync(Messages::WebPage::WheelEventSyncForTesting(event), Messages::WebPage::WheelEventSyncForTesting::Reply(handled), m_pageID);1804 didReceiveEvent(event.type(), handled);1805 return;1806 }1807 1808 1795 m_process->send( 1809 1796 Messages::EventDispatcher::WheelEvent( … … 1827 1814 1828 1815 m_process->responsivenessTimer()->start(); 1829 if (m_shouldSendEventsSynchronously) { 1830 bool handled = false; 1831 m_process->sendSync(Messages::WebPage::KeyEventSyncForTesting(event), Messages::WebPage::KeyEventSyncForTesting::Reply(handled), m_pageID); 1832 didReceiveEvent(event.type(), handled); 1833 } else if (m_keyEventQueue.size() == 1) // Otherwise, sent from DidReceiveEvent message handler. 1816 if (m_keyEventQueue.size() == 1) // Otherwise, sent from DidReceiveEvent message handler. 1834 1817 m_process->send(Messages::WebPage::KeyEvent(event), m_pageID); 1835 1818 } … … 1974 1957 m_touchEventQueue.append(event); 1975 1958 m_process->responsivenessTimer()->start(); 1976 if (m_shouldSendEventsSynchronously) { 1977 bool handled = false; 1978 m_process->sendSync(Messages::WebPage::TouchEventSyncForTesting(event), Messages::WebPage::TouchEventSyncForTesting::Reply(handled), m_pageID); 1979 didReceiveEvent(event.type(), handled); 1980 } else 1981 m_process->send(Messages::WebPage::TouchEvent(event), m_pageID); 1959 m_process->send(Messages::WebPage::TouchEvent(event), m_pageID); 1982 1960 } else { 1983 1961 if (m_touchEventQueue.isEmpty()) { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r188775 r188793 912 912 uint64_t renderTreeSize() const { return m_renderTreeSize; } 913 913 914 void setShouldSendEventsSynchronously(bool sync) { m_shouldSendEventsSynchronously = sync; };915 916 914 void printMainFrame(); 917 915 … … 1725 1723 bool m_hitRenderTreeSizeThreshold; 1726 1724 1727 bool m_shouldSendEventsSynchronously;1728 1729 1725 bool m_suppressVisibilityUpdates; 1730 1726 bool m_autoSizingShouldExpandToViewHeight; -
trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp
r188228 r188793 783 783 } 784 784 785 if (m_configuration->fullySynchronousModeIsAllowedForTesting()) 786 process->connection()->allowFullySynchronousModeForTesting(); 787 785 788 m_connectionClient.didCreateConnection(this, process->webConnection()); 786 789 } -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
r183595 r188793 606 606 } 607 607 608 void WKBundlePagePostSynchronousMessage(WKBundlePageRef pageRef, WKStringRef messageNameRef, WKTypeRef messageBodyRef, WKTypeRef* returnDataRef) 609 { 608 void WKBundlePagePostSynchronousMessageForTesting(WKBundlePageRef pageRef, WKStringRef messageNameRef, WKTypeRef messageBodyRef, WKTypeRef* returnDataRef) 609 { 610 WebPage* page = toImpl(pageRef); 611 page->layoutIfNeeded(); 612 610 613 RefPtr<API::Object> returnData; 611 toImpl(pageRef)->postSynchronousMessage(toWTFString(messageNameRef), toImpl(messageBodyRef), returnData);614 page->postSynchronousMessageForTesting(toWTFString(messageNameRef), toImpl(messageBodyRef), returnData); 612 615 if (returnDataRef) 613 616 *returnDataRef = toAPI(returnData.release().leakRef()); 614 617 } 615 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h
r182768 r188793 116 116 117 117 WK_EXPORT void WKBundlePagePostMessage(WKBundlePageRef page, WKStringRef messageName, WKTypeRef messageBody); 118 WK_EXPORT void WKBundlePagePostSynchronousMessage(WKBundlePageRef page, WKStringRef messageName, WKTypeRef messageBody, WKTypeRef* returnData); 118 119 // Switches a connection into a fully synchronous mode, so all messages become synchronous until we get a response. 120 WK_EXPORT void WKBundlePagePostSynchronousMessageForTesting(WKBundlePageRef page, WKStringRef messageName, WKTypeRef messageBody, WKTypeRef* returnData); 119 121 120 122 #ifdef __cplusplus -
trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp
r188594 r188793 89 89 } 90 90 91 #if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)92 static void updateWheelEventTestTriggersIfNeeded(uint64_t pageID)93 {94 WebPage* webPage = WebProcess::singleton().webPage(pageID);95 Page* page = webPage ? webPage->corePage() : nullptr;96 97 if (!page || !page->expectsWheelEventTriggers())98 return;99 100 page->testTrigger()->deferTestsForReason(reinterpret_cast<WheelEventTestTrigger::ScrollableAreaIdentifier>(page), WheelEventTestTrigger::ScrollingThreadSyncNeeded);101 }102 #endif103 104 91 void EventDispatcher::wheelEvent(uint64_t pageID, const WebWheelEvent& wheelEvent, bool canRubberBandAtLeft, bool canRubberBandAtRight, bool canRubberBandAtTop, bool canRubberBandAtBottom) 105 92 { … … 147 134 ScrollingTree::EventResult result = scrollingTree->tryToHandleWheelEvent(platformWheelEvent); 148 135 149 #if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)150 if (result == ScrollingTree::DidHandleEvent)151 updateWheelEventTestTriggersIfNeeded(pageID);152 #endif153 154 136 if (result == ScrollingTree::DidHandleEvent || result == ScrollingTree::DidNotHandleEvent) { 155 137 sendDidReceiveEvent(pageID, wheelEvent, result == ScrollingTree::DidHandleEvent); -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r188775 r188793 2050 2050 } 2051 2051 2052 void WebPage::mouseEventSyncForTesting(const WebMouseEvent& mouseEvent, bool& handled)2053 {2054 #if ENABLE(DRAG_SUPPORT)2055 if (m_isStartingDrag)2056 messageSenderConnection()->waitForAndDispatchImmediately<Messages::WebPage::DidStartDrag>(messageSenderDestinationID(), std::chrono::seconds(60));2057 #endif2058 2059 handled = false;2060 #if !PLATFORM(IOS)2061 if (!handled && m_headerBanner)2062 handled = m_headerBanner->mouseEvent(mouseEvent);2063 if (!handled && m_footerBanner)2064 handled = m_footerBanner->mouseEvent(mouseEvent);2065 #endif // !PLATFORM(IOS)2066 2067 if (!handled) {2068 CurrentEvent currentEvent(mouseEvent);2069 2070 // We need to do a full, normal hit test during this mouse event if the page is active or if a mouse2071 // button is currently pressed. It is possible that neither of those things will be true since on2072 // Lion when legacy scrollbars are enabled, WebKit receives mouse events all the time. If it is one2073 // of those cases where the page is not active and the mouse is not pressed, then we can fire a more2074 // efficient scrollbars-only version of the event.2075 bool onlyUpdateScrollbars = !(m_page->focusController().isActive() || (mouseEvent.button() != WebMouseEvent::NoButton));2076 handled = handleMouseEvent(mouseEvent, this, onlyUpdateScrollbars);2077 }2078 }2079 2080 2052 static bool handleWheelEvent(const WebWheelEvent& wheelEvent, Page* page) 2081 2053 { … … 2100 2072 } 2101 2073 send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(wheelEvent.type()), handled)); 2102 }2103 2104 void WebPage::wheelEventSyncForTesting(const WebWheelEvent& wheelEvent, bool& handled)2105 {2106 CurrentEvent currentEvent(wheelEvent);2107 2108 if (ScrollingCoordinator* scrollingCoordinator = m_page->scrollingCoordinator())2109 scrollingCoordinator->commitTreeStateIfNeeded();2110 2111 handled = handleWheelEvent(wheelEvent, m_page.get());2112 2074 } 2113 2075 … … 2137 2099 } 2138 2100 send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(keyboardEvent.type()), handled)); 2139 }2140 2141 void WebPage::keyEventSyncForTesting(const WebKeyboardEvent& keyboardEvent, bool& handled)2142 {2143 CurrentEvent currentEvent(keyboardEvent);2144 2145 Frame& frame = m_page->focusController().focusedOrMainFrame();2146 frame.document()->updateStyleIfNeeded();2147 2148 handled = handleKeyEvent(keyboardEvent, m_page.get());2149 if (!handled)2150 handled = performDefaultBehaviorForKeyEvent(keyboardEvent);2151 2101 } 2152 2102 … … 2219 2169 } 2220 2170 send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(touchEvent.type()), handled)); 2221 }2222 2223 void WebPage::touchEventSyncForTesting(const WebTouchEvent& touchEvent, bool& handled)2224 {2225 CurrentEvent currentEvent(touchEvent);2226 handled = handleTouchEvent(touchEvent, m_page.get());2227 2171 } 2228 2172 #endif … … 5023 4967 } 5024 4968 5025 void WebPage::postSynchronousMessage (const String& messageName, API::Object* messageBody, RefPtr<API::Object>& returnData)4969 void WebPage::postSynchronousMessageForTesting(const String& messageName, API::Object* messageBody, RefPtr<API::Object>& returnData) 5026 4970 { 5027 4971 UserData returnUserData; 5028 4972 5029 4973 auto& webProcess = WebProcess::singleton(); 5030 if (!sendSync(Messages::WebPageProxy::HandleSynchronousMessage(messageName, UserData(webProcess.transformObjectsToHandles(messageBody))), Messages::WebPageProxy::HandleSynchronousMessage::Reply(returnUserData) ))4974 if (!sendSync(Messages::WebPageProxy::HandleSynchronousMessage(messageName, UserData(webProcess.transformObjectsToHandles(messageBody))), Messages::WebPageProxy::HandleSynchronousMessage::Reply(returnUserData), std::chrono::milliseconds::max(), IPC::SyncMessageSendFlags::UseFullySynchronousModeForTesting)) 5031 4975 returnData = nullptr; 5032 4976 else -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r188775 r188793 902 902 903 903 void postMessage(const String& messageName, API::Object* messageBody); 904 void postSynchronousMessage (const String& messageName, API::Object* messageBody, RefPtr<API::Object>& returnData);904 void postSynchronousMessageForTesting(const String& messageName, API::Object* messageBody, RefPtr<API::Object>& returnData); 905 905 906 906 #if PLATFORM(GTK) … … 991 991 992 992 void mouseEvent(const WebMouseEvent&); 993 void mouseEventSyncForTesting(const WebMouseEvent&, bool&);994 void wheelEventSyncForTesting(const WebWheelEvent&, bool&);995 993 void keyEvent(const WebKeyboardEvent&); 996 void keyEventSyncForTesting(const WebKeyboardEvent&, bool&);997 994 #if ENABLE(IOS_TOUCH_EVENTS) 998 995 void touchEventSync(const WebTouchEvent&, bool& handled); 999 996 #elif ENABLE(TOUCH_EVENTS) 1000 997 void touchEvent(const WebTouchEvent&); 1001 void touchEventSyncForTesting(const WebTouchEvent&, bool& handled);1002 998 #endif 1003 999 #if ENABLE(CONTEXT_MENUS) -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
r188775 r188793 39 39 40 40 KeyEvent(WebKit::WebKeyboardEvent event) 41 KeyEventSyncForTesting(WebKit::WebKeyboardEvent event) -> (bool handled)42 41 MouseEvent(WebKit::WebMouseEvent event) 43 MouseEventSyncForTesting(WebKit::WebMouseEvent event) -> (bool handled)44 WheelEventSyncForTesting(WebKit::WebWheelEvent event) -> (bool handled)45 42 #if PLATFORM(IOS) 46 43 SetViewportConfigurationMinimumLayoutSize(WebCore::FloatSize size) … … 108 105 #if !ENABLE(IOS_TOUCH_EVENTS) && ENABLE(TOUCH_EVENTS) 109 106 TouchEvent(WebKit::WebTouchEvent event) 110 TouchEventSyncForTesting(WebKit::WebTouchEvent event) -> (bool handled)111 107 #endif 112 108 -
trunk/Tools/ChangeLog
r188767 r188793 1 2015-08-21 Alexey Proskuryakov <ap@apple.com> 2 3 Improve how UI events are dispatched by WebKitTestRunner 4 https://bugs.webkit.org/show_bug.cgi?id=148326 5 6 Reviewed by Anders Carlsson. 7 8 * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: 9 * WebKitTestRunner/InjectedBundle/EventSendingController.h: 10 Removed asyncScrolling from mouseScrollByWithWheelAndMomentumPhases, it's now always 11 asynchronous (and really, it has always been for the most part). 12 13 * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: 14 (WTR::EventSendingController::mouseDown): Updated for WKBundlePagePostSynchronousMessage renaming. 15 (WTR::EventSendingController::mouseUp): Ditto. 16 (WTR::EventSendingController::mouseMoveTo): Ditto. 17 (WTR::EventSendingController::mouseForceDown): Ditto. 18 (WTR::EventSendingController::mouseForceUp): Ditto. 19 (WTR::EventSendingController::mouseForceChanged): Ditto. 20 (WTR::EventSendingController::leapForward): Ditto. 21 (WTR::EventSendingController::scheduleAsynchronousClick): Ditto. 22 (WTR::EventSendingController::keyDown): Ditto. 23 (WTR::EventSendingController::scheduleAsynchronousKeyDown): Ditto. 24 (WTR::EventSendingController::mouseScrollBy): Force a scrolling tree commit. It used 25 to be done in custom WebKit2 code for test wheel event handling. 26 (WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Got rid of sync version. 27 (WTR::EventSendingController::continuousMouseScrollBy): Added a FIXME. This one is weird. 28 (WTR::EventSendingController::contextClick): Updated for WKBundlePagePostSynchronousMessage renaming. 29 (WTR::EventSendingController::addTouchPoint): Ditto. 30 (WTR::EventSendingController::updateTouchPoint): Ditto. 31 (WTR::EventSendingController::setTouchModifier): Ditto. 32 (WTR::EventSendingController::setTouchPointRadius): Ditto. 33 (WTR::EventSendingController::touchStart): Ditto. 34 (WTR::EventSendingController::touchMove): Ditto. 35 (WTR::EventSendingController::touchEnd): Ditto. 36 (WTR::EventSendingController::touchCancel): Ditto. 37 (WTR::EventSendingController::clearTouchPoints): Ditto. 38 (WTR::EventSendingController::releaseTouchPoint): Ditto. 39 (WTR::EventSendingController::cancelTouchPoint): Ditto. 40 41 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: 42 (WTR::InjectedBundle::postSetWindowIsKey): 43 (WTR::InjectedBundle::postSimulateWebNotificationClick): 44 (WTR::InjectedBundle::isGeolocationProviderActive): 45 (WTR::InjectedBundle::shouldProcessWorkQueue): 46 Updated for WKBundlePagePostSynchronousMessage renaming. 47 48 * WebKitTestRunner/InjectedBundle/TestRunner.cpp: 49 (WTR::TestRunner::secureEventInputIsEnabled): Ditto. 50 51 * WebKitTestRunner/TestController.cpp: 52 (WTR::TestController::initialize): Allow handling the new test style messages. 53 (WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle): Removed calls 54 to WKPageSetShouldSendEventsSynchronously, which we no longer need. 55 (WTR::TestController::didReceiveMessageFromInjectedBundle): 56 (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Moved 57 "MouseScrollBy" to async section, and got rid of WKPageSetShouldSendEventsSynchronously. 58 59 * WebKitTestRunner/mac/EventSenderProxy.mm: 60 (WTR::EventSenderProxy::mouseMoveTo): Got rid of WKPageSetShouldSendEventsSynchronously. 61 (WTR::EventSenderProxy::keyDown): Ditto. 62 (WTR::EventSenderProxy::mouseScrollBy): Ditto. 63 (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto. 64 1 65 2015-08-21 Yusuke Suzuki <utatane.tea@gmail.com> 2 66 -
trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl
r182963 r188793 32 32 void mouseForceChanged(double force); 33 33 void mouseScrollBy(long x, long y); 34 void mouseScrollByWithWheelAndMomentumPhases(long x, long y, DOMString phase, DOMString momentum , optional boolean asyncScrolling);34 void mouseScrollByWithWheelAndMomentumPhases(long x, long y, DOMString phase, DOMString momentum); 35 35 void continuousMouseScrollBy(long x, long y, optional boolean paged); 36 36 object contextClick(); -
trunk/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
r187934 r188793 218 218 WKRetainPtr<WKMutableDictionaryRef> EventSenderMessageBody(AdoptWK, createMouseMessageBody(MouseDown, button, modifiers)); 219 219 220 WKBundlePagePostSynchronousMessage (page, EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);220 WKBundlePagePostSynchronousMessageForTesting(page, EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 221 221 } 222 222 … … 231 231 WKRetainPtr<WKMutableDictionaryRef> EventSenderMessageBody(AdoptWK, createMouseMessageBody(MouseUp, button, modifiers)); 232 232 233 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);233 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 234 234 } 235 235 … … 253 253 m_position = WKPointMake(x, y); 254 254 255 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);255 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 256 256 } 257 257 … … 265 265 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 266 266 267 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);267 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 268 268 } 269 269 … … 277 277 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 278 278 279 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);279 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 280 280 } 281 281 … … 293 293 WKDictionarySetItem(EventSenderMessageBody.get(), forceKey.get(), forceRef.get()); 294 294 295 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);295 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 296 296 } 297 297 … … 309 309 WKDictionarySetItem(EventSenderMessageBody.get(), timeKey.get(), timeRef.get()); 310 310 311 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);311 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 312 312 } 313 313 … … 360 360 WKRetainPtr<WKMutableDictionaryRef> keyDownMessageBody = createKeyDownMessageBody(key, modifiers, location); 361 361 362 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), keyDownMessageBody.get(), 0);362 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), keyDownMessageBody.get(), 0); 363 363 } 364 364 … … 388 388 WKDictionarySetItem(EventSenderMessageBody.get(), yKey.get(), yRef.get()); 389 389 390 WKBundlePagePostSynchronousMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 391 } 392 393 void EventSendingController::mouseScrollByWithWheelAndMomentumPhases(int x, int y, JSStringRef phaseStr, JSStringRef momentumStr, bool asyncScrolling) 390 WKBundlePageForceRepaint(InjectedBundle::singleton().page()->page()); // Triggers a scrolling tree commit. 391 WKBundlePagePostMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get()); 392 } 393 394 void EventSendingController::mouseScrollByWithWheelAndMomentumPhases(int x, int y, JSStringRef phaseStr, JSStringRef momentumStr) 394 395 { 395 396 WKRetainPtr<WKStringRef> EventSenderMessageName(AdoptWK, WKStringCreateWithUTF8CString("EventSender")); … … 440 441 WKDictionarySetItem(EventSenderMessageBody.get(), momentumKey.get(), momentumRef.get()); 441 442 442 if (asyncScrolling) 443 WKBundlePagePostMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get()); 444 else 445 WKBundlePagePostSynchronousMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 443 WKBundlePageForceRepaint(InjectedBundle::singleton().page()->page()); // Triggers a scrolling tree commit. 444 WKBundlePagePostMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get()); 446 445 } 447 446 … … 467 466 WKDictionarySetItem(EventSenderMessageBody.get(), pagedKey.get(), pagedRef.get()); 468 467 469 WKBundlePagePostSynchronousMessage(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 468 // FIXME: This message should be asynchronous, as scrolling is intrinsically asynchronous. 469 // See also: <https://bugs.webkit.org/show_bug.cgi?id=148256>. 470 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 470 471 } 471 472 … … 613 614 WKDictionarySetItem(EventSenderMessageBody.get(), yKey.get(), yRef.get()); 614 615 615 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);616 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 616 617 } 617 618 … … 637 638 WKDictionarySetItem(EventSenderMessageBody.get(), yKey.get(), yRef.get()); 638 639 639 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);640 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 640 641 } 641 642 … … 667 668 WKDictionarySetItem(EventSenderMessageBody.get(), enableKey.get(), enableRef.get()); 668 669 669 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);670 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 670 671 } 671 672 … … 688 689 WKDictionarySetItem(EventSenderMessageBody.get(), yKey.get(), yRef.get()); 689 690 690 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);691 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 691 692 } 692 693 … … 700 701 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 701 702 702 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);703 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 703 704 } 704 705 … … 712 713 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 713 714 714 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);715 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 715 716 } 716 717 … … 724 725 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 725 726 726 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);727 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 727 728 } 728 729 … … 736 737 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 737 738 738 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);739 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 739 740 } 740 741 … … 748 749 WKDictionarySetItem(EventSenderMessageBody.get(), subMessageKey.get(), subMessageName.get()); 749 750 750 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);751 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 751 752 } 752 753 … … 764 765 WKDictionarySetItem(EventSenderMessageBody.get(), indexKey.get(), indexRef.get()); 765 766 766 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);767 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 767 768 } 768 769 … … 780 781 WKDictionarySetItem(EventSenderMessageBody.get(), indexKey.get(), indexRef.get()); 781 782 782 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0);783 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), EventSenderMessageName.get(), EventSenderMessageBody.get(), 0); 783 784 } 784 785 #endif -
trunk/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.h
r186694 r188793 51 51 void mouseForceChanged(double force); 52 52 void mouseScrollBy(int x, int y); 53 void mouseScrollByWithWheelAndMomentumPhases(int x, int y, JSStringRef phase, JSStringRef momentum , bool asyncScrolling);53 void mouseScrollByWithWheelAndMomentumPhases(int x, int y, JSStringRef phase, JSStringRef momentum); 54 54 void continuousMouseScrollBy(int x, int y, bool paged); 55 55 JSValueRef contextClick(); -
trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
r188068 r188793 382 382 WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("SetWindowIsKey")); 383 383 WKRetainPtr<WKBooleanRef> messageBody(AdoptWK, WKBooleanCreate(isKey)); 384 WKBundlePagePostSynchronousMessage (page()->page(), messageName.get(), messageBody.get(), 0);384 WKBundlePagePostSynchronousMessageForTesting(page()->page(), messageName.get(), messageBody.get(), 0); 385 385 } 386 386 … … 469 469 WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("IsGeolocationClientActive")); 470 470 WKTypeRef resultToPass = 0; 471 WKBundlePagePostSynchronousMessage (page()->page(), messageName.get(), 0, &resultToPass);471 WKBundlePagePostSynchronousMessageForTesting(page()->page(), messageName.get(), 0, &resultToPass); 472 472 WKRetainPtr<WKBooleanRef> isActive(AdoptWK, static_cast<WKBooleanRef>(resultToPass)); 473 473 … … 525 525 WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("IsWorkQueueEmpty")); 526 526 WKTypeRef resultToPass = 0; 527 WKBundlePagePostSynchronousMessage (page()->page(), messageName.get(), 0, &resultToPass);527 WKBundlePagePostSynchronousMessageForTesting(page()->page(), messageName.get(), 0, &resultToPass); 528 528 WKRetainPtr<WKBooleanRef> isEmpty(AdoptWK, static_cast<WKBooleanRef>(resultToPass)); 529 529 -
trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
r188068 r188793 832 832 WKTypeRef returnData = 0; 833 833 834 WKBundlePagePostSynchronousMessage (InjectedBundle::singleton().page()->page(), messageName.get(), 0, &returnData);834 WKBundlePagePostSynchronousMessageForTesting(InjectedBundle::singleton().page()->page(), messageName.get(), 0, &returnData); 835 835 return WKBooleanGetValue(static_cast<WKBooleanRef>(returnData)); 836 836 } -
trunk/Tools/WebKitTestRunner/TestController.cpp
r188718 r188793 359 359 auto configuration = adoptWK(WKContextConfigurationCreate()); 360 360 WKContextConfigurationSetInjectedBundlePath(configuration.get(), injectedBundlePath()); 361 WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(configuration.get(), true); 361 362 362 363 if (const char* dumpRenderTreeTemp = libraryPathForTesting()) { … … 988 989 unsigned location = static_cast<unsigned>(WKUInt64GetValue(static_cast<WKUInt64Ref>(WKDictionaryGetItemForKey(messageBodyDictionary, locationKey.get())))); 989 990 990 if (synchronous)991 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);992 993 991 m_eventSenderProxy->keyDown(key, modifiers, location); 994 995 if (synchronous)996 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);997 992 } 998 993 … … 1014 1009 1015 1010 // Forward to WebProcess 1016 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1017 1011 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseDown")) 1018 1012 m_eventSenderProxy->mouseDown(button, modifiers); … … 1026 1020 didReceiveKeyDownMessageFromInjectedBundle(messageBodyDictionary, false); 1027 1021 1022 return; 1023 } 1024 1025 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseScrollBy")) { 1026 WKRetainPtr<WKStringRef> xKey = adoptWK(WKStringCreateWithUTF8CString("X")); 1027 double x = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, xKey.get()))); 1028 1029 WKRetainPtr<WKStringRef> yKey = adoptWK(WKStringCreateWithUTF8CString("Y")); 1030 double y = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, yKey.get()))); 1031 1032 // Forward to WebProcess 1033 m_eventSenderProxy->mouseScrollBy(x, y); 1028 1034 return; 1029 1035 } … … 1042 1048 1043 1049 // Forward to WebProcess 1044 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1045 1050 m_eventSenderProxy->mouseScrollByWithWheelAndMomentumPhases(x, y, phase, momentum); 1046 1051 … … 1080 1085 1081 1086 // Forward to WebProcess 1082 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1083 1087 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseDown")) 1084 1088 m_eventSenderProxy->mouseDown(button, modifiers); 1085 1089 else 1086 1090 m_eventSenderProxy->mouseUp(button, modifiers); 1087 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1088 1091 return 0; 1089 1092 } … … 1097 1100 1098 1101 // Forward to WebProcess 1099 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1100 1102 m_eventSenderProxy->mouseMoveTo(x, y); 1101 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1102 1103 return 0; 1103 1104 } … … 1105 1106 #if PLATFORM(MAC) 1106 1107 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseForceDown")) { 1107 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1108 1108 m_eventSenderProxy->mouseForceDown(); 1109 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1110 1109 return 0; 1111 1110 } 1112 1111 1113 1112 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseForceUp")) { 1114 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1115 1113 m_eventSenderProxy->mouseForceUp(); 1116 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1117 1114 return 0; 1118 1115 } … … 1122 1119 double force = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, forceKey.get()))); 1123 1120 1124 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1125 1121 m_eventSenderProxy->mouseForceChanged(force); 1126 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1127 1122 return 0; 1128 1123 } 1129 1124 #endif // PLATFORM(MAC) 1130 1125 1131 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseScrollBy")) {1132 WKRetainPtr<WKStringRef> xKey = adoptWK(WKStringCreateWithUTF8CString("X"));1133 double x = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, xKey.get())));1134 1135 WKRetainPtr<WKStringRef> yKey = adoptWK(WKStringCreateWithUTF8CString("Y"));1136 double y = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, yKey.get())));1137 1138 // Forward to WebProcess1139 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1140 m_eventSenderProxy->mouseScrollBy(x, y);1141 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1142 return 0;1143 }1144 1145 if (WKStringIsEqualToUTF8CString(subMessageName, "MouseScrollByWithWheelAndMomentumPhases")) {1146 WKRetainPtr<WKStringRef> xKey = adoptWK(WKStringCreateWithUTF8CString("X"));1147 double x = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, xKey.get())));1148 1149 WKRetainPtr<WKStringRef> yKey = adoptWK(WKStringCreateWithUTF8CString("Y"));1150 double y = WKDoubleGetValue(static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(messageBodyDictionary, yKey.get())));1151 1152 WKRetainPtr<WKStringRef> phaseKey = adoptWK(WKStringCreateWithUTF8CString("Phase"));1153 int phase = static_cast<int>(WKUInt64GetValue(static_cast<WKUInt64Ref>(WKDictionaryGetItemForKey(messageBodyDictionary, phaseKey.get()))));1154 WKRetainPtr<WKStringRef> momentumKey = adoptWK(WKStringCreateWithUTF8CString("Momentum"));1155 int momentum = static_cast<int>(WKUInt64GetValue(static_cast<WKUInt64Ref>(WKDictionaryGetItemForKey(messageBodyDictionary, momentumKey.get()))));1156 1157 // Forward to WebProcess1158 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1159 m_eventSenderProxy->mouseScrollByWithWheelAndMomentumPhases(x, y, phase, momentum);1160 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1161 return 0;1162 }1163 1164 1126 if (WKStringIsEqualToUTF8CString(subMessageName, "ContinuousMouseScrollBy")) { 1165 1127 WKRetainPtr<WKStringRef> xKey = adoptWK(WKStringCreateWithUTF8CString("X")); … … 1173 1135 1174 1136 // Forward to WebProcess 1175 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1176 1137 m_eventSenderProxy->continuousMouseScrollBy(x, y, paged); 1177 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1178 1138 return 0; 1179 1139 } … … 1236 1196 1237 1197 if (WKStringIsEqualToUTF8CString(subMessageName, "TouchStart")) { 1238 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1239 1198 m_eventSenderProxy->touchStart(); 1240 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1241 1199 return 0; 1242 1200 } 1243 1201 1244 1202 if (WKStringIsEqualToUTF8CString(subMessageName, "TouchMove")) { 1245 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1246 1203 m_eventSenderProxy->touchMove(); 1247 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1248 1204 return 0; 1249 1205 } 1250 1206 1251 1207 if (WKStringIsEqualToUTF8CString(subMessageName, "TouchEnd")) { 1252 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1253 1208 m_eventSenderProxy->touchEnd(); 1254 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1255 1209 return 0; 1256 1210 } 1257 1211 1258 1212 if (WKStringIsEqualToUTF8CString(subMessageName, "TouchCancel")) { 1259 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), true);1260 1213 m_eventSenderProxy->touchCancel(); 1261 WKPageSetShouldSendEventsSynchronously(mainWebView()->page(), false);1262 1214 return 0; 1263 1215 } -
trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm
r186694 r188793 418 418 if (targetView) { 419 419 [NSApp _setCurrentEvent:event]; 420 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), true);421 420 [targetView mouseMoved:event]; 422 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), false);423 421 [NSApp _setCurrentEvent:nil]; 424 422 } else { … … 613 611 modifierFlags |= NSNumericPadKeyMask; 614 612 615 // FIXME: [[[mainFrame frameView] documentView] layout];616 617 613 NSEvent *event = [NSEvent keyEventWithType:NSKeyDown 618 614 location:NSMakePoint(5, 5) … … 659 655 if (NSView *targetView = [m_testController->mainWebView()->platformView() hitTest:[event locationInWindow]]) { 660 656 [NSApp _setCurrentEvent:event]; 661 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), true);662 657 [targetView scrollWheel:event]; 663 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), false);664 658 [NSApp _setCurrentEvent:nil]; 665 659 } else { … … 694 688 if (NSView *targetView = [m_testController->mainWebView()->platformView() hitTest:[event locationInWindow]]) { 695 689 [NSApp _setCurrentEvent:event]; 696 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), true);697 690 [targetView scrollWheel:event]; 698 WKPageSetShouldSendEventsSynchronously(m_testController->mainWebView()->page(), false);699 691 [NSApp _setCurrentEvent:nil]; 700 692 } else {
Note: See TracChangeset
for help on using the changeset viewer.