diff options
Diffstat (limited to 'toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html')
-rw-r--r-- | toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html b/toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html deleted file mode 100644 index 7d49d55ba..000000000 --- a/toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <title>Test for content script</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"; - -/* eslint-disable mozilla/balanced-listeners */ - -add_task(function* test_postMessage() { - let extensionData = { - manifest: { - content_scripts: [ - { - "matches": ["http://mochi.test/*/file_sample.html"], - "js": ["content_script.js"], - "run_at": "document_start", - "all_frames": true, - }, - ], - - web_accessible_resources: ["iframe.html"], - }, - - background() { - browser.test.sendMessage("iframe-url", browser.runtime.getURL("iframe.html")); - }, - - files: { - "content_script.js": function() { - window.addEventListener("message", event => { - if (event.data == "ping") { - event.source.postMessage({pong: location.href}, - event.origin); - } - }); - }, - - "iframe.html": `<!DOCTYPE html> - <html> - <head> - <meta charset="utf-8"> - <script src="content_script.js"><\/script> - </head> - </html>`, - }, - }; - - let createIframe = url => { - let iframe = document.createElement("iframe"); - return new Promise(resolve => { - iframe.src = url; - iframe.onload = resolve; - document.body.appendChild(iframe); - }).then(() => { - return iframe; - }); - }; - - let awaitMessage = () => { - return new Promise(resolve => { - let listener = event => { - if (event.data.pong) { - window.removeEventListener("message", listener); - resolve(event.data); - } - }; - window.addEventListener("message", listener); - }); - }; - - let extension = ExtensionTestUtils.loadExtension(extensionData); - yield extension.startup(); - - let iframeURL = yield extension.awaitMessage("iframe-url"); - let testURL = SimpleTest.getTestFileURL("file_sample.html"); - - for (let url of [iframeURL, testURL]) { - info(`Testing URL ${url}`); - - let iframe = yield createIframe(url); - - iframe.contentWindow.postMessage( - "ping", url); - - let pong = yield awaitMessage(); - is(pong.pong, url, "Got expected pong"); - - iframe.remove(); - } - - yield extension.unload(); -}); -</script> - -</body> -</html> |