<!DOCTYPE html>
<style>
  body {
    height: 2000px;
    width: 2000px;
  }
  ::-webkit-scrollbar {
    width: 0px;
    height: 0px;
  }
</style>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script>
  var browserZoomFactor = 1.25;

  async_test(function(t) {
    window.onload = t.step_func(function() {
      window.scrollTo(100, 100);

      // 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(2);

      // Offset visual viewport by 10px.
      window.visualViewport.scrollTop =  10;
      window.visualViewport.scrollLeft = 10;

      assert_equals(window.visualViewport.scrollTop, 10);
      assert_equals(window.visualViewport.scrollLeft, 10);
      assert_equals(window.visualViewport.clientWidth, 400);
      assert_equals(window.visualViewport.clientHeight, 300);
      assert_equals(window.visualViewport.pageScale, 2);

      // Apply browser zoom.
      window.internals.setZoomFactor(browserZoomFactor);

      // Visual viewport dimensions should be scaled by the browser zoom factor.
      assert_equals(window.visualViewport.scrollTop, 10 / browserZoomFactor);
      assert_equals(window.visualViewport.scrollLeft, 10 / browserZoomFactor);
      assert_equals(window.visualViewport.clientWidth, 400 / browserZoomFactor);
      assert_equals(window.visualViewport.clientHeight, 300 / browserZoomFactor);
      assert_equals(window.visualViewport.pageScale, 2);

      // Verify setting the visual viewport offset under browser zoom.
      window.visualViewport.scrollTop = 12.5;
      window.visualViewport.scrollLeft = 12.5;
      assert_equals(window.visualViewport.scrollTop, 12.5);
      assert_equals(window.visualViewport.scrollLeft, 12.5);
      assert_equals(window.visualViewport.clientWidth, 400 / browserZoomFactor);
      assert_equals(window.visualViewport.clientHeight, 300 / browserZoomFactor);
      assert_equals(window.visualViewport.pageScale, 2);
      t.done();
    });
  }, 'Verify viewport dimensions under bowser zoom.');
</script>
