tor-browser

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

test_ext_webNavigation_onCommitted.html (1528B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>WebNavigation onCommitted Test</title>
      6  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <script type="text/javascript" src="/tests/SimpleTest/ExtensionTestUtils.js"></script>
      8  <script type="text/javascript" src="head.js"></script>
      9  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
     10 </head>
     11 <body>
     12 
     13 <script type="text/javascript">
     14 "use strict";
     15 
     16 add_task(async function() {
     17  const extension = ExtensionTestUtils.loadExtension({
     18    manifest: {
     19      permissions: ["webNavigation", "tabs"],
     20    },
     21    async background() {
     22      const url = "http://mochi.test:8888/";
     23      const [tab, tabDetails] = await Promise.all([
     24        browser.tabs.create({url}),
     25        new Promise(resolve => {
     26          browser.webNavigation.onCommitted.addListener(details => {
     27            if (details.url === "about:blank") {
     28              // skip initial about:blank
     29              return;
     30            }
     31            resolve(details);
     32          });
     33        }),
     34      ]);
     35 
     36      browser.test.assertEq(url, tabDetails.url, "webNavigation.onCommitted detects correct url");
     37      browser.test.assertEq(tab.id, tabDetails.tabId, "webNavigation.onCommitted fire for proper tabId");
     38      await browser.tabs.remove(tab.id);
     39      browser.test.notifyPass("webNavigation.onCommitted");
     40    },
     41  });
     42 
     43  await extension.startup();
     44  await extension.awaitFinish("webNavigation.onCommitted");
     45  await extension.unload();
     46 });
     47 </script>
     48 
     49 </body>
     50 </html>