summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/general/file_showModalDialog.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/general/file_showModalDialog.html')
-rw-r--r--dom/tests/mochitest/general/file_showModalDialog.html35
1 files changed, 35 insertions, 0 deletions
diff --git a/dom/tests/mochitest/general/file_showModalDialog.html b/dom/tests/mochitest/general/file_showModalDialog.html
new file mode 100644
index 000000000..1cae0b1c0
--- /dev/null
+++ b/dom/tests/mochitest/general/file_showModalDialog.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+ function go() {
+ is(SpecialPowers.wrap(window).location.toString(), location.toString(), "sanity");
+ ok("returnValue" in window && "dialogArguments" in window, "We are modal");
+ var iwin = document.getElementById('ifr').contentWindow;
+ is(SpecialPowers.Cu.getClassName(iwin, /* aUnwrap = */ true), "Window", "Descendant frames should not be modal");
+
+ if (location.origin != "http://mochi.test:8888") {
+ is(window.dialogArguments, undefined,
+ "dialogArguments should be undefined cross-origin: " + location.origin);
+ }
+
+ window.returnValue = "rv: " + window.dialogArguments;
+
+ // Allow for testing navigations in series.
+ if (location.search == "") {
+ window.close();
+ } else {
+ var origins = location.search.split('?')[1].split(',');
+ var newsearch = '?' + origins.splice(1).join(',');
+ var newurl = location.toString().replace(location.origin, origins[0])
+ .replace(location.search, newsearch);
+ location = newurl;
+ }
+
+ }
+</script>
+</head>
+<body onload="opener.postMessage('dosetup', '*');">
+<iframe id="ifr"></iframe>
+</body>
+</html>