 Chromium Code Reviews
 Chromium Code Reviews Issue 1415513002:
  Remove plumbing for inert-visual-viewport flag  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1415513002:
  Remove plumbing for inert-visual-viewport flag  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: third_party/WebKit/LayoutTests/fast/scroll-behavior/visual-viewport-scroll-no-onscroll-event.html | 
| diff --git a/third_party/WebKit/LayoutTests/fast/scroll-behavior/visual-viewport-scroll-no-onscroll-event.html b/third_party/WebKit/LayoutTests/fast/scroll-behavior/visual-viewport-scroll-no-onscroll-event.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..9f39140219a82600474bfceebdac0f4d09649dd3 | 
| --- /dev/null | 
| +++ b/third_party/WebKit/LayoutTests/fast/scroll-behavior/visual-viewport-scroll-no-onscroll-event.html | 
| @@ -0,0 +1,73 @@ | 
| +<!DOCTYPE html> | 
| +<script src="../../resources/js-test.js"></script> | 
| +<style> | 
| + #target { | 
| + width: 2000px; | 
| + height: 1500px; | 
| + } | 
| +</style> | 
| +<script language="JavaScript" type="text/javascript"> | 
| + if (window.testRunner && window.internals) { | 
| + window.jsTestIsAsync = true; | 
| + testRunner.dumpAsText(); | 
| + testRunner.waitUntilDone(); | 
| + setPrintTestResultsLazily(); | 
| + } | 
| + | 
| + description("This test ensures that scrolling the visual viewport doesn't\ | 
| + trigger an onscroll event."); | 
| + | 
| + function runTest() { | 
| + if (!window.testRunner || !window.internals) { | 
| + testFailed("This test requires test runner and internals") | 
| + finishJSTest(); | 
| + return; | 
| + } | 
| + | 
| + window.internals.setPageScaleFactor(2.0); | 
| + var target = document.getElementById('target'); | 
| + | 
| + var numScrollsReceived = 0; | 
| + var numRAFCalls = 0; | 
| + | 
| + document.onscroll = function() { | 
| + if (numRAFCalls == 0) | 
| 
bokan
2015/10/21 15:23:06
You can remove this too now.
 
ymalik
2015/10/21 16:29:28
Done.
 | 
| + return; | 
| + ++numScrollsReceived; | 
| + debug('OnScroll called for scroll #' + numScrollsReceived); | 
| + } | 
| + | 
| + var failureSentinel = function() { | 
| + if (numRAFCalls == 0) { | 
| + // The first scroll should trigger onscroll because it scrolls | 
| + // the layout viewport. | 
| + eventSender.mouseMoveTo(target.offsetLeft + 5, target.offsetTop + 5); | 
| + eventSender.mouseScrollBy(0, -10); | 
| + } else if (numRAFCalls == 1) { | 
| + if (numScrollsReceived < numRAFCalls) { | 
| 
bokan
2015/10/21 15:23:06
We know there should be exactly one scroll here, I
 
ymalik
2015/10/21 16:29:27
Done.
 | 
| + testFailed("Did not receive scroll event #" + (numScrollsReceived+1)); | 
| + finishJSTest(); | 
| + return; | 
| + } | 
| + // The second scroll should not trigger onscroll because it only | 
| + // scrolls the visual viewport. | 
| + eventSender.mouseMoveTo(target.offsetLeft + 5, target.offsetTop + 5); | 
| + eventSender.mouseScrollBy(0, 1); | 
| + } else { | 
| + if (numScrollsReceived >= numRAFCalls) { | 
| 
bokan
2015/10/21 15:23:06
Ditto here.
 
ymalik
2015/10/21 16:29:27
Done.
 | 
| + testFailed("Received unexpected scroll event #" + numScrollsReceived); | 
| + finishJSTest(); | 
| + return; | 
| + } | 
| + finishJSTest(); | 
| + } | 
| + ++numRAFCalls; | 
| + window.requestAnimationFrame(failureSentinel); | 
| + } | 
| + | 
| + window.requestAnimationFrame(failureSentinel); | 
| + } | 
| + | 
| + onload = runTest; | 
| +</script> | 
| +<div id="target"></div> |