blob: 2ea3dcb00333808aca79cbc03a0ba6e91ac43434 [file] [log] [blame]
<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<h1>Viewport: Scrollbars Cause Resize</h1>
<h4>Test Description: This test checks that the appearance of classic scrollbars will cause a resize event to be fired at window.visualViewport.</h4>
<script>
document.documentElement.style.overflow = "hidden";
var initialWidth = visualViewport.width;
var initialHeight = visualViewport.height;
test(function() {
assert_equals(window.visualViewport.width, window.innerWidth);
assert_equals(window.visualViewport.height, window.innerHeight);
}, "view size initially matches window size");
var t = async_test("Resize event was fired at window.visualViewport");
var viewResized = false;
window.visualViewport.addEventListener('resize', function() {
viewResized = true;
});
requestAnimationFrame(t.step_func_done(function() {
assert_equals(viewResized, true);
}));
document.documentElement.style.overflow = "";
document.body.style.width = "10000px";
document.body.style.height = "10000px";
test(function() {
assert_equals(window.visualViewport.width, initialWidth - 15);
assert_equals(window.visualViewport.height, initialHeight - 15);
}, "view size reflects appearance of classic scrollbars");
document.body.style.width = "";
document.body.style.height = "";
</script>