summaryrefslogtreecommitdiffstats
path: root/toolkit/components/windowwatcher/test/test_blank_named_window.html
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/windowwatcher/test/test_blank_named_window.html')
-rw-r--r--toolkit/components/windowwatcher/test/test_blank_named_window.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/toolkit/components/windowwatcher/test/test_blank_named_window.html b/toolkit/components/windowwatcher/test/test_blank_named_window.html
new file mode 100644
index 0000000000..f8472d216a
--- /dev/null
+++ b/toolkit/components/windowwatcher/test/test_blank_named_window.html
@@ -0,0 +1,40 @@
+<!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 src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script src="head.js" type="application/javascript"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+ <script type="application/javascript">
+ "use strict";
+ add_task(async 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.
+ await 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).docShell.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>