summaryrefslogtreecommitdiffstats
path: root/toolkit/components/webextensions/test/mochitest/test_ext_window_postMessage.html
diff options
context:
space:
mode:
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.html105
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>