Bug 1403349 - Add a new webNavigation test for window.open called with a named window target. draft
authorLuca Greco <lgreco@mozilla.com>
Thu, 28 Sep 2017 22:04:14 +0200
changeset 681615 b6a2bf76fc1e878659d938e8121dbe2e94c33667
parent 681614 4085e82040b2f64acd8eff681185d5c8eab5804d
child 681621 231ed8cb70376f2f8213df25e0650748436172a8
push id84871
push userluca.greco@alcacoop.it
push dateTue, 17 Oct 2017 13:50:36 +0000
bugs1403349
milestone58.0a1
Bug 1403349 - Add a new webNavigation test for window.open called with a named window target. MozReview-Commit-ID: Aj8uMtcGwJx
browser/components/extensions/test/browser/browser_ext_webNavigation_onCreatedNavigationTarget_window_open.js
--- a/browser/components/extensions/test/browser/browser_ext_webNavigation_onCreatedNavigationTarget_window_open.js
+++ b/browser/components/extensions/test/browser/browser_ext_webNavigation_onCreatedNavigationTarget_window_open.js
@@ -242,8 +242,65 @@ add_task(async function test_window_open
   });
 
   assertNoPendingCreatedNavigationTargetData();
 
   await BrowserTestUtils.removeTab(tab1);
 
   await extension.unload();
 });
+
+add_task(async function test_window_open_in_named_win() {
+  const tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, SOURCE_PAGE);
+
+  gBrowser.selectedTab = tab1;
+
+  const extension = ExtensionTestUtils.loadExtension({
+    background,
+    manifest: {
+      permissions: ["webNavigation", "tabs", "<all_urls>"],
+    },
+  });
+
+  await extension.startup();
+
+  const expectedSourceTab = await extension.awaitMessage("expectedSourceTab");
+
+  info("open a url in a new named window from a window.open call");
+
+  await runTestCase({
+    extension,
+    openNavTarget() {
+      extension.sendMessage({
+        type: "execute-contentscript",
+        code: `window.open("${OPENED_PAGE}#new-named-window-open", "TestWinName"); true;`,
+      });
+    },
+    expectedWebNavProps: {
+      sourceTabId: expectedSourceTab.sourceTabId,
+      sourceFrameId: 0,
+      url: `${OPENED_PAGE}#new-named-window-open`,
+    },
+  });
+
+  info("open a url in an existent named window from a window.open call");
+
+  await runTestCase({
+    extension,
+    openNavTarget() {
+      extension.sendMessage({
+        type: "execute-contentscript",
+        code: `window.open("${OPENED_PAGE}#existent-named-window-open", "TestWinName"); true;`,
+      });
+    },
+    expectedWebNavProps: {
+      sourceTabId: expectedSourceTab.sourceTabId,
+      sourceFrameId: 0,
+      url: `${OPENED_PAGE}#existent-named-window-open`,
+    },
+  });
+
+  assertNoPendingCreatedNavigationTargetData();
+
+  await BrowserTestUtils.removeTab(tab1);
+
+  await extension.unload();
+});