| Index: third_party/WebKit/LayoutTests/inspector-protocol/emulation/scroll-and-scale-override.html
|
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/emulation/scroll-and-scale-override.html b/third_party/WebKit/LayoutTests/inspector-protocol/emulation/scroll-and-scale-override.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b0d418c9a0df08b3ad7e8272b80e4260f86da173
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/emulation/scroll-and-scale-override.html
|
| @@ -0,0 +1,167 @@
|
| +<html>
|
| +<head>
|
| +
|
| +<script src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script>
|
| +
|
| +<style>
|
| +body {
|
| + margin: 0;
|
| + overflow: hidden;
|
| + min-width: 2000px;
|
| + min-height: 10000px;
|
| +}
|
| +
|
| +div#layoutViewportDiv {
|
| + position: fixed;
|
| + z-index: 100;
|
| + width: 100%;
|
| + height: 100%;
|
| +}
|
| +</style>
|
| +
|
| +<script>
|
| +function dumpMetrics()
|
| +{
|
| + return JSON.stringify({
|
| + visualWidth: window.innerWidth,
|
| + visualHeight: window.innerHeight,
|
| + layoutWidth: document.getElementById("layoutViewportDiv").clientWidth,
|
| + layoutHeight: document.getElementById("layoutViewportDiv").clientHeight,
|
| + scrollX: window.visualViewport.pageX - window.visualViewport.scrollLeft,
|
| + scrollY: window.visualViewport.pageY - window.visualViewport.scrollTop,
|
| + visualScrollX: window.visualViewport.scrollLeft,
|
| + visualScrollY: window.visualViewport.scrollTop,
|
| + visualScale: window.visualViewport.scale
|
| + }, null, 4);
|
| +}
|
| +
|
| +function test()
|
| +{
|
| + function printMetrics(callback)
|
| + {
|
| + InspectorTest.evaluateInPage("dumpMetrics()", print);
|
| +
|
| + function print(metrics)
|
| + {
|
| + InspectorTest.log(metrics);
|
| + callback();
|
| + }
|
| + }
|
| +
|
| + function testOverrides(width, height, visualWidth, visualHeight, scrollX, scrollY, visualX, visualY, visualScale, next)
|
| + {
|
| + var metricsParams = {
|
| + width: width,
|
| + height: height,
|
| + visualViewportWidth: visualWidth,
|
| + visualViewportHeight: visualHeight,
|
| + deviceScaleFactor: 0,
|
| + mobile: false,
|
| + fitWindow: false
|
| + };
|
| + var scrollParams = {
|
| + scrollPositionX: scrollX,
|
| + scrollPositionY: scrollY,
|
| + visualViewportPositionX: visualX,
|
| + visualViewportPositionY: visualY,
|
| + visualViewportScale: visualScale
|
| + };
|
| + InspectorTest.log("Device metrics overrides: " + JSON.stringify(metricsParams));
|
| + InspectorTest.log("Scroll/scale overrides: " + JSON.stringify(scrollParams));
|
| +
|
| + InspectorTest.sendCommandOrDie("Emulation.setDeviceMetricsOverride", metricsParams, metricsOverrideActive);
|
| +
|
| + function metricsOverrideActive()
|
| + {
|
| + InspectorTest.sendCommandOrDie("Emulation.setScrollAndScaleOverride", scrollParams, printMetrics.bind(null, allOverridesActive));
|
| + }
|
| +
|
| + function allOverridesActive()
|
| + {
|
| + InspectorTest.log("Clearing overrides.");
|
| + InspectorTest.sendCommandOrDie("Emulation.clearScrollAndScaleOverride", {}, scrollOverrideCleared);
|
| +
|
| + function scrollOverrideCleared()
|
| + {
|
| + InspectorTest.sendCommandOrDie("Emulation.clearDeviceMetricsOverride", {}, printMetrics.bind(null, next));
|
| + }
|
| + }
|
| + }
|
| +
|
| + InspectorTest.runTestSuite([
|
| + function noOverrides(next)
|
| + {
|
| + testOverrides(0, 0, 0, 0, -1, -1, -1, -1, 0, next);
|
| + },
|
| +
|
| + function frameScrollX(next)
|
| + {
|
| + testOverrides(400, 200, 0, 0, 200, -1, -1, -1, 0, next);
|
| + },
|
| +
|
| + function frameScrollY(next)
|
| + {
|
| + testOverrides(400, 200, 0, 0, -1, 600, -1, -1, 0, next);
|
| + },
|
| +
|
| + function frameScrollXWithResizedVisualViewport(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, 200, -1, -1, -1, 0, next);
|
| + },
|
| +
|
| + function frameScrollYWithResizedVisualViewport(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, -1, 600, -1, -1, 0, next);
|
| + },
|
| +
|
| + function visualScrollX(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, -1, -1, 100, -1, 0, next);
|
| + },
|
| +
|
| + function visualScrollY(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, -1, -1, -1, 50, 0, next);
|
| + },
|
| +
|
| + function visualScale(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, -1, -1, -1, -1, 2.0, next);
|
| + },
|
| +
|
| + function visualScrollAndScale(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, -1, -1, 100, 50, 2.0, next);
|
| + },
|
| +
|
| + function scrollFrameAndVisual(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, 200, 600, 100, 50, 0, next);
|
| + },
|
| +
|
| + function scrollFrameAndVisualMax(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, 100000, 100000, 100000, 100000, 0, next);
|
| + },
|
| +
|
| + function scrollAndScaleFrameAndVisual(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, 200, 600, 100, 50, 2.0, next);
|
| + },
|
| +
|
| + function scrollAndScaleFrameAndVisualMax(next)
|
| + {
|
| + testOverrides(400, 200, 200, 100, 100000, 100000, 100000, 100000, 2.0, next);
|
| + },
|
| + ]);
|
| +}
|
| +</script>
|
| +
|
| +</head>
|
| +<body onload="runTest()">
|
| +<div id="layoutViewportDiv"></div>
|
| +<p>
|
| +Tests overrides for frame scroll position and visual viewport scroll position and scale.
|
| +</p>
|
| +</body>
|
| +</html>
|
|
|