| Index: third_party/WebKit/LayoutTests/fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html b/third_party/WebKit/LayoutTests/fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5884190e02743c2459704c447e4b7d71b3b05e00
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html
|
| @@ -0,0 +1,53 @@
|
| +<!DOCTYPE html>
|
| +<style>
|
| + body {
|
| + height: 2000px;
|
| + width: 2000px;
|
| + }
|
| + ::-webkit-scrollbar {
|
| + width: 20px;
|
| + height: 20px;
|
| + } /* this targets the default scrollbar (compulsory) */
|
| +
|
| + ::-webkit-scrollbar-track {
|
| + background-color: #b46868;
|
| + } /* the new scrollbar will have a flat appearance with the set background color */
|
| +
|
| + ::-webkit-scrollbar-thumb {
|
| + background-color: rgba(0, 0, 0, 0.2);
|
| + } /* this will style the thumb, ignoring the track */
|
| +</style>
|
| +
|
| +<script src="../../../resources/testharness.js"></script>
|
| +<script src="../../../resources/testharnessreport.js"></script>
|
| +<script>
|
| + var browserZoomFactor = 1.25;
|
| + var pageScaleFactor = 2;
|
| + var scrollbarWidth = 20;
|
| + var scrollbarHeight = 20;
|
| +
|
| + function viewport() {
|
| + return document.visualViewport;
|
| + }
|
| +
|
| + async_test(function(t) {
|
| + window.onload = t.step_func(function() {
|
| + // TODO(ymalik): Remove hook to internals to pinch-zoom here and browser
|
| + // zoom below. This will be required to upstream to w3c repo.
|
| + internals.setPageScaleFactor(pageScaleFactor);
|
| +
|
| + // Verify viewport dimensions exclude scrollbar.
|
| + assert_equals(viewport().clientWidth, 800 / pageScaleFactor - scrollbarWidth);
|
| + assert_equals(viewport().clientHeight, 600 / pageScaleFactor - scrollbarHeight);
|
| +
|
| + // Apply browser zoom.
|
| + window.internals.setZoomFactor(browserZoomFactor);
|
| +
|
| + // Verify scrollbar exclusion with browser zoom. Custom scrollbars are
|
| + // scaled with browser zoom but remain unchanged with pinch zoom.
|
| + assert_equals(viewport().clientWidth, 800 / browserZoomFactor / pageScaleFactor - scrollbarWidth * browserZoomFactor);
|
| + assert_equals(viewport().clientHeight, 600 / browserZoomFactor / pageScaleFactor - scrollbarHeight * browserZoomFactor);
|
| + t.done();
|
| + });
|
| + }, 'Verify viewport dimensions exclude custom scrollbars.');
|
| +</script>
|
|
|