summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/user-activation/user-activation-interface.html
blob: 8ece08f11d68b56de4ff9a37a4c968be00e02d6d (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
<!DOCTYPE html>
<html>
<head>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="/resources/testdriver.js"></script>
  <script src="/resources/testdriver-vendor.js"></script>
  <script src="resources/utils.js"></script>
</head>
<body onload="runTests()">
  <h1>Basic test for navigator.userActivation interface</h1>
  <p>Tests that navigator.userActivation shows user activation states.</p>
  <ol id="instructions">
    <li>Click anywhere in the document.
  </ol>
  <script>
  function runTests() {
    promise_test(async () => {
        assert_true(!!navigator.userActivation, "This test requires navigator.userActivation API");

        assert_false(navigator.userActivation.hasBeenActive, "No sticky activation before click");
        assert_false(navigator.userActivation.isActive, "No transient activation before click");

        await test_driver.click(document.body);

        assert_true(navigator.userActivation.hasBeenActive, "Has sticky activation after click");
        assert_true(navigator.userActivation.isActive, "Has transient activation after click");
    }, "navigator.userActivation shows correct states before/after a click");
  }
  </script>
</body>
</html>