diff --git a/dom/browser-element/mochitest/Makefile.in b/dom/browser-element/mochitest/Makefile.in index 3adb62f59a75..8880e9f8188e 100644 --- a/dom/browser-element/mochitest/Makefile.in +++ b/dom/browser-element/mochitest/Makefile.in @@ -48,6 +48,9 @@ _TEST_FILES = \ test_browserElement_inproc_PromptConfirm.html \ browserElement_Close.js \ test_browserElement_inproc_Close.html \ + browserElement_CloseFromOpener.js \ + test_browserElement_inproc_CloseFromOpener.html \ + file_browserElement_CloseFromOpener.html \ browserElement_OpenWindow.js \ test_browserElement_inproc_OpenWindow.html \ file_browserElement_Open1.html \ @@ -77,6 +80,7 @@ _TEST_FILES += \ test_browserElement_oop_PromptCheck.html \ test_browserElement_oop_PromptConfirm.html \ test_browserElement_oop_Close.html \ + test_browserElement_oop_CloseFromOpener.html \ test_browserElement_oop_OpenWindow.html \ test_browserElement_oop_OpenWindowRejected.html \ test_browserElement_oop_SecurityChange.html \ diff --git a/dom/browser-element/mochitest/browserElement_CloseFromOpener.js b/dom/browser-element/mochitest/browserElement_CloseFromOpener.js new file mode 100644 index 000000000000..46f26578333b --- /dev/null +++ b/dom/browser-element/mochitest/browserElement_CloseFromOpener.js @@ -0,0 +1,34 @@ +/* Any copyright is dedicated to the public domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Bug 764718 - Test that window.close() works from the opener window. +"use strict"; + +SimpleTest.waitForExplicitFinish(); + +function runTest() { + browserElementTestHelpers.setEnabledPref(true); + browserElementTestHelpers.addToWhitelist(); + + var iframe = document.createElement('iframe'); + iframe.mozbrowser = true; + + iframe.addEventListener('mozbrowseropenwindow', function(e) { + ok(true, "got openwindow event."); + document.body.appendChild(e.detail.frameElement); + + e.detail.frameElement.addEventListener("mozbrowserclose", function(e) { + ok(true, "got mozbrowserclose event."); + SimpleTest.finish(); + }); + }); + + + document.body.appendChild(iframe); + + // file_browserElement_CloseFromOpener opens a new window and then calls + // close() on it. + iframe.src = "file_browserElement_CloseFromOpener.html"; +} + +runTest(); diff --git a/dom/browser-element/mochitest/file_browserElement_CloseFromOpener.html b/dom/browser-element/mochitest/file_browserElement_CloseFromOpener.html new file mode 100644 index 000000000000..4a08c2792b6c --- /dev/null +++ b/dom/browser-element/mochitest/file_browserElement_CloseFromOpener.html @@ -0,0 +1,8 @@ + + + + + diff --git a/dom/browser-element/mochitest/test_browserElement_inproc_CloseFromOpener.html b/dom/browser-element/mochitest/test_browserElement_inproc_CloseFromOpener.html new file mode 100644 index 000000000000..3c7ee4d874b4 --- /dev/null +++ b/dom/browser-element/mochitest/test_browserElement_inproc_CloseFromOpener.html @@ -0,0 +1,18 @@ + + + + + Test for Bug 757182 + + + + + +Mozilla Bug 757182 + + + + diff --git a/dom/browser-element/mochitest/test_browserElement_oop_CloseFromOpener.html b/dom/browser-element/mochitest/test_browserElement_oop_CloseFromOpener.html new file mode 100644 index 000000000000..3c7ee4d874b4 --- /dev/null +++ b/dom/browser-element/mochitest/test_browserElement_oop_CloseFromOpener.html @@ -0,0 +1,18 @@ + + + + + Test for Bug 757182 + + + + + +Mozilla Bug 757182 + + + +