tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

revocation.https.html (2041B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8" />
      3 <title>Permissions API - Revocation Tests</title>
      4 <link rel="help" href="https://www.w3.org/TR/permissions/" />
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="/resources/testdriver.js"></script>
      8 <script src="/resources/testdriver-vendor.js"></script>
      9 
     10 <body>
     11    <script>
     12        promise_test(async (t) => {
     13            await test_driver.set_permission(
     14                { name: "geolocation" },
     15                "granted"
     16            );
     17            const status = await navigator.permissions.query({
     18                name: "geolocation",
     19            });
     20            assert_equals(
     21                status.state,
     22                "granted",
     23                'Initial state is "granted"'
     24            );
     25 
     26            const p = new Promise((resolve) => {
     27                status.addEventListener("change", resolve, { once: true });
     28            });
     29 
     30            await test_driver.set_permission({ name: "geolocation" }, "prompt");
     31            await p;
     32 
     33            assert_equals(status.state, "prompt", 'Now in "prompt" state');
     34        }, 'Transition "granted" -> "prompt" fires a "change" event');
     35 
     36        promise_test(async (t) => {
     37            await test_driver.set_permission(
     38                { name: "geolocation" },
     39                "granted"
     40            );
     41            const status = await navigator.permissions.query({
     42                name: "geolocation",
     43            });
     44            assert_equals(
     45                status.state,
     46                "granted",
     47                'Initial state is "granted"'
     48            );
     49 
     50            const p = new Promise((resolve) => {
     51                status.addEventListener("change", resolve, { once: true });
     52            });
     53 
     54            await test_driver.set_permission({ name: "geolocation" }, "denied");
     55            await p;
     56            assert_equals(status.state, "denied", 'Now in "denied" state');
     57        }, 'Transition "granted" -> "denied" fires a "change" event');
     58    </script>
     59 </body>