diff options
Diffstat (limited to 'toolkit/components/webextensions/test/mochitest/test_ext_runtime_disconnect.html')
-rw-r--r-- | toolkit/components/webextensions/test/mochitest/test_ext_runtime_disconnect.html | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/toolkit/components/webextensions/test/mochitest/test_ext_runtime_disconnect.html b/toolkit/components/webextensions/test/mochitest/test_ext_runtime_disconnect.html deleted file mode 100644 index 5764d0a3c..000000000 --- a/toolkit/components/webextensions/test/mochitest/test_ext_runtime_disconnect.html +++ /dev/null @@ -1,78 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <title>WebExtension test</title> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/ExtensionTestUtils.js"></script> - <script type="text/javascript" src="head.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> -</head> -<body> - -<script type="text/javascript"> -"use strict"; - -function background() { - browser.runtime.onConnect.addListener(port => { - browser.test.assertEq(port.name, "ernie", "port name correct"); - port.onDisconnect.addListener(() => { - browser.test.assertEq(null, port.error, "The port is implicitly closed without errors when the other context unloads"); - // Closing an already-disconnected port is a no-op. - port.disconnect(); - port.disconnect(); - browser.test.sendMessage("disconnected"); - }); - browser.test.sendMessage("connected"); - }); -} - -function contentScript() { - browser.runtime.connect({name: "ernie"}); -} - -let extensionData = { - background, - manifest: { - "permissions": ["tabs"], - "content_scripts": [{ - "matches": ["http://mochi.test/*/file_sample.html"], - "js": ["content_script.js"], - "run_at": "document_idle", - }], - }, - - files: { - "content_script.js": contentScript, - }, -}; - -add_task(function* test_contentscript() { - let extension = ExtensionTestUtils.loadExtension(extensionData); - yield extension.startup(); - - let win = window.open("file_sample.html"); - yield Promise.all([waitForLoad(win), extension.awaitMessage("connected")]); - win.close(); - yield extension.awaitMessage("disconnected"); - - info("win.close() succeeded"); - - win = window.open("file_sample.html"); - yield Promise.all([waitForLoad(win), extension.awaitMessage("connected")]); - - // Add an "unload" listener so that we don't put the window in the - // bfcache. This way it gets destroyed immediately upon navigation. - win.addEventListener("unload", function() {}); // eslint-disable-line mozilla/balanced-listeners - - win.location = "http://example.com"; - yield extension.awaitMessage("disconnected"); - win.close(); - - yield extension.unload(); - info("extension unloaded"); -}); -</script> - -</body> -</html> |