Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: third_party/WebKit/LayoutTests/fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html

Issue 1957103002: Exclude scrollbars from visual viewport dimensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698