diff options
Diffstat (limited to 'browser/devtools/webconsole/test/browser_console_dead_objects.js')
-rw-r--r-- | browser/devtools/webconsole/test/browser_console_dead_objects.js | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/browser/devtools/webconsole/test/browser_console_dead_objects.js b/browser/devtools/webconsole/test/browser_console_dead_objects.js deleted file mode 100644 index 574573064..000000000 --- a/browser/devtools/webconsole/test/browser_console_dead_objects.js +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// Check that Dead Objects do not break the Web/Browser Consoles. See bug 883649. -// This test does: -// - opens a new tab, -// - opens the Browser Console, -// - stores a reference to the content document of the tab on the chrome window object, -// - closes the tab, -// - tries to use the object that was pointing to the now-defunct content -// document. This is the dead object. - -"use strict"; - -const TEST_URI = "data:text/html;charset=utf8,<p>dead objects!"; - -function test() -{ - let hud = null; - - registerCleanupFunction(() => { - Services.prefs.clearUserPref("devtools.chrome.enabled"); - }); - - Task.spawn(runner).then(finishTest); - - function* runner() { - Services.prefs.setBoolPref("devtools.chrome.enabled", true); - let {tab} = yield loadTab(TEST_URI); - - info("open the browser console"); - - hud = yield HUDService.toggleBrowserConsole(); - ok(hud, "browser console opened"); - - let jsterm = hud.jsterm; - - jsterm.clearOutput(); - - // Add the reference to the content document. - yield jsterm.execute("Cu = Components.utils;" + - "Cu.import('resource://gre/modules/Services.jsm');" + - "chromeWindow = Services.wm.getMostRecentWindow('navigator:browser');" + - "foobarzTezt = chromeWindow.content.document;" + - "delete chromeWindow"); - - gBrowser.removeCurrentTab(); - - let msg = yield jsterm.execute("foobarzTezt"); - - isnot(hud.outputNode.textContent.indexOf("[object DeadObject]"), -1, - "dead object found"); - - jsterm.setInputValue("foobarzTezt"); - - for (let c of ".hello") { - EventUtils.synthesizeKey(c, {}, hud.iframeWindow); - } - - yield jsterm.execute(); - - isnot(hud.outputNode.textContent.indexOf("can't access dead object"), -1, - "'cannot access dead object' message found"); - - // Click the second execute output. - let clickable = msg.querySelector("a"); - ok(clickable, "clickable object found"); - isnot(clickable.textContent.indexOf("[object DeadObject]"), -1, - "message text check"); - - msg.scrollIntoView(); - - executeSoon(() => { - EventUtils.synthesizeMouseAtCenter(clickable, {}, hud.iframeWindow); - }); - - yield jsterm.once("variablesview-fetched"); - ok(true, "variables view fetched"); - - msg = yield jsterm.execute("delete window.foobarzTezt; 2013-26"); - - isnot(msg.textContent.indexOf("1987"), -1, "result message found"); - } -} |