Bug 1276738 - Test _blank name usage in new windows. r=Gijs
☠☠ backed out by 105fffd482d1 ☠ ☠
authorMike Conley <mconley@mozilla.com>
Fri, 29 Apr 2016 17:39:18 -0400
changeset 339021 73f7e5190b38c89efc0e8c68c84770097e9f95e4
parent 339020 9d23fffa886b0b78a2d6f9584f05e4af9a019c63
child 339022 1a7d17e9e15d84f22d56a056cb48c28b3ba23c7b
push id6249
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 13:59:36 +0000
treeherdermozilla-beta@bad9d4f5bf7e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersGijs
bugs1276738
milestone49.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1276738 - Test _blank name usage in new windows. r=Gijs MozReview-Commit-ID: Gqh04VTzOuC
embedding/components/windowwatcher/test/mochitest.ini
embedding/components/windowwatcher/test/test_blank_named_window.html
--- a/embedding/components/windowwatcher/test/mochitest.ini
+++ b/embedding/components/windowwatcher/test/mochitest.ini
@@ -1,4 +1,5 @@
 [DEFAULT]
 tags = openwindow
 
+[test_blank_named_window.html]
 [test_named_window.html]
new file mode 100644
--- /dev/null
+++ b/embedding/components/windowwatcher/test/test_blank_named_window.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+Test that when opening a window with the reserved name _blank that the new
+window does not get that name, and that subsequent window openings with that
+name result in new windows being opened.
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test named windows</title>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+  <script src="head.js" type="application/javascript;version=1.8"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+  <script type="application/javascript">
+    "use strict";
+    add_task(function*() {
+      // This magic value of 2 means that by default, when content tries
+      // to open a new window, it'll actually open in a new window instead
+      // of a new tab.
+      yield SpecialPowers.pushPrefEnv({"set": [
+        ["browser.link.open_newwindow", 2],
+      ]});
+
+      let win1 = window.open("data:text/html,<p>This is window 1 for test_blank_named_window.html</p>", "_blank");
+
+      let name = SpecialPowers.wrap(win1)
+                 .QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor)
+                 .getInterface(SpecialPowers.Ci.nsIWebNavigation)
+                 .QueryInterface(SpecialPowers.Ci.nsIDocShellTreeItem)
+                 .name;
+
+      is(name, "", "Should have no name");
+
+      let win2 = window.open("data:text/html,<p>This is window 2 for test_blank_named_window.html</p>", "_blank");
+      isnot(win1, win2, "Should not have gotten back the same window");
+
+      win1.close();
+      win2.close();
+    });
+  </script>
+</body>
+</html>
\ No newline at end of file