summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/permissions-policy/experimental-features/vertical-scroll-main-frame-manual.tentative.html
blob: cda6c49abb6df5007ff83b122a5a5788fa51c60c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE html>
<title>Ensure 'vertical-scroll' does not affect main frame</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/permissions-policy/experimental-features/resources/common.js"></script>
<script src="/permissions-policy/experimental-features/resources/vertical-scroll.js"></script>
<style>
html, body {
  height: 100%;
  width: 100%;
}
.spacer {
  width: 100%;
  height: 100%;
  margin-top: 100%;
  margin-bottom: 100%;
}
</style>
<p> Making sure there is room for vertical scroll </p>
<div class="spacer"></div>
<div class="spacer"></div>
</p>EOP</p>
<script>
  "use strict";

  // Sanity check.
  test(() => {
    assert_false(document.featurePolicy.allowsFeature("vertical-scroll"),
                 "Expected 'vertical-scroll' to be disabled.");
  }, "'vertical-scroll' disabled in main document.");

  // Wait for the helper scripts to load.
  promise_test(async() => {
    if (window.input_api_ready)
      return Promise.resolve();
    await new Promise( (r) => {
      window.resolve_on_input_api_ready = r;
    });
  }, "Make sure input injection API is ready.");

  promise_test(async() => {
    window.scrollTo(0, 0);
    await inject_input("down");
    assert_greater_than(window.scrollY, 0, "Page must have scrolled down.");
  }, "Verify that the page scrolls vertically.");
</script>