Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/dom/viewport/verify-viewport-dimensions.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/viewport/verify-viewport-dimensions.html b/third_party/WebKit/LayoutTests/fast/dom/viewport/verify-viewport-dimensions.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..78df79f03235c4eb319af8d80766337eafbdd777 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/dom/viewport/verify-viewport-dimensions.html |
| @@ -0,0 +1,63 @@ |
| +<!DOCTYPE html> |
| +<script src="../../../resources/js-test.js"></script> |
| +<style> |
| + body { |
| + height: 2000px; |
| + width: 2000px; |
| + } |
| +</style> |
| + |
| +<script> |
| + window.jsTestIsAsync = true; |
| + |
| + var documentElement; |
| + |
| + description("This test verifies the dimensions of the visual viewport \ |
| + returned by JS visual viewport API."); |
|
bokan
2016/03/18 16:05:07
nit: "by JS" -> "by the JS"
ymalik
2016/03/22 16:35:05
Done.
|
| + |
| + function runTest() { |
| + if (!window.eventSender || !window.internals) { |
| + finishJSTest(); |
| + return; |
| + } |
| + |
| + documentElement = document.documentElement; |
| + |
| + // Turn off smooth scrolling. |
| + internals.settings.setScrollAnimatorEnabled(false); |
| + |
| + // Scroll both viewports. |
| + eventSender.mouseMoveTo(100, 100); |
| + eventSender.continuousMouseScrollBy(100, 100); |
| + |
| + debug(" **** Initial visual viewport dimensions *****"); |
| + shouldBe("documentElement.viewport.scrollTop", "0"); |
| + shouldBe("documentElement.viewport.scrollLeft", "0"); |
| + shouldBe("documentElement.viewport.clientWidth", "800"); |
| + shouldBe("documentElement.viewport.clientHeight", "600"); |
| + shouldBe("documentElement.viewport.pageScale", "1"); |
| + |
| + // Scale and scroll visual viewport. |
| + internals.setPageScaleFactor(2); |
| + internals.setVisualViewportOffset(10, 10); |
| + |
| + debug(" **** Viewport dimensions after scale and scroll *****"); |
| + shouldBe("documentElement.viewport.scrollTop", "10"); |
| + shouldBe("documentElement.viewport.scrollLeft", "10"); |
| + shouldBe("documentElement.viewport.clientWidth", "400"); |
| + shouldBe("documentElement.viewport.clientHeight", "300"); |
| + shouldBe("documentElement.viewport.pageScale", "2"); |
| + |
| + document.scrollingElement.viewport.scrollTop = 20; |
|
bokan
2016/03/18 16:05:07
scrollingElement->documentElement
ymalik
2016/03/22 16:35:05
Done.
|
| + document.scrollingElement.viewport.scrollLeft = 0; |
| + debug(" **** Writable viewport dimensions *****"); |
| + shouldBe("documentElement.viewport.scrollTop", "20"); |
| + shouldBe("documentElement.viewport.scrollLeft", "0"); |
| + document.scrollingElement.viewport.scrollTop = -20; |
| + shouldBe("documentElement.viewport.scrollTop", "0"); |
| + |
| + finishJSTest(); |
| + } |
| +</script> |
| + |
| +<body onload="runTest()"></body> |