tor-browser

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

browser_permissions_delegate_vibrate.js (1431B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 const TEST_PAGE =
      7  "https://example.com/browser/browser/base/content/test/permissions/empty.html";
      8 
      9 add_task(async function testNoPermissionPrompt() {
     10  info("Creating tab");
     11  await BrowserTestUtils.withNewTab(TEST_PAGE, async function (browser) {
     12    await new Promise(r => {
     13      SpecialPowers.pushPrefEnv(
     14        {
     15          set: [
     16            ["dom.vibrator.enabled", true],
     17            ["dom.security.featurePolicy.header.enabled", true],
     18            ["dom.security.featurePolicy.webidl.enabled", true],
     19          ],
     20        },
     21        r
     22      );
     23    });
     24 
     25    await ContentTask.spawn(browser, null, async function () {
     26      let frame = content.document.createElement("iframe");
     27      // Cross origin src
     28      frame.src =
     29        "https://example.org/browser/browser/base/content/test/permissions/empty.html";
     30      await new Promise(resolve => {
     31        frame.addEventListener("load", () => {
     32          resolve();
     33        });
     34        content.document.body.appendChild(frame);
     35      });
     36 
     37      await content.SpecialPowers.spawn(frame, [], async function () {
     38        // Request a permission.
     39        let result = this.content.navigator.vibrate([100, 100]);
     40        Assert.equal(result, false, "navigator.vibrate has been denied");
     41      });
     42      content.document.body.removeChild(frame);
     43    });
     44  });
     45 });