diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /browser/base/content/test/general/browser_tab_close_dependent_window.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'browser/base/content/test/general/browser_tab_close_dependent_window.js')
-rw-r--r-- | browser/base/content/test/general/browser_tab_close_dependent_window.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_tab_close_dependent_window.js b/browser/base/content/test/general/browser_tab_close_dependent_window.js new file mode 100644 index 000000000..ab8a960ac --- /dev/null +++ b/browser/base/content/test/general/browser_tab_close_dependent_window.js @@ -0,0 +1,24 @@ +"use strict"; + +add_task(function* closing_tab_with_dependents_should_close_window() { + info("Opening window"); + let win = yield BrowserTestUtils.openNewBrowserWindow(); + + info("Opening tab with data URI"); + let tab = yield BrowserTestUtils.openNewForegroundTab(win.gBrowser, `data:text/html,<html%20onclick="W=window.open()"><body%20onbeforeunload="W.close()">`); + info("Closing original tab in this window."); + yield BrowserTestUtils.removeTab(win.gBrowser.tabs[0]); + info("Clicking into the window"); + let depTabOpened = BrowserTestUtils.waitForEvent(win.gBrowser.tabContainer, "TabOpen"); + yield BrowserTestUtils.synthesizeMouse("html", 0, 0, {}, tab.linkedBrowser); + + let openedTab = (yield depTabOpened).target; + info("Got opened tab"); + + let windowClosedPromise = BrowserTestUtils.windowClosed(win); + yield BrowserTestUtils.removeTab(tab); + is(Cu.isDeadWrapper(openedTab) || openedTab.linkedBrowser == null, true, "Opened tab should also have closed"); + info("If we timeout now, the window failed to close - that shouldn't happen!"); + yield windowClosedPromise; +}); + |