summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_web_channel.html
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_web_channel.html')
-rw-r--r--browser/base/content/test/general/browser_web_channel.html189
1 files changed, 0 insertions, 189 deletions
diff --git a/browser/base/content/test/general/browser_web_channel.html b/browser/base/content/test/general/browser_web_channel.html
deleted file mode 100644
index f117ccca2..000000000
--- a/browser/base/content/test/general/browser_web_channel.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>web_channel_test</title>
-</head>
-<body>
-<script>
- var IFRAME_SRC_ROOT = "http://mochi.test:8888/browser/browser/base/content/test/general/browser_web_channel_iframe.html";
-
- window.onload = function() {
- var testName = window.location.search.replace(/^\?/, "");
-
- switch (testName) {
- case "generic":
- test_generic();
- break;
- case "twoway":
- test_twoWay();
- break;
- case "multichannel":
- test_multichannel();
- break;
- case "iframe":
- test_iframe();
- break;
- case "iframe_pre_redirect":
- test_iframe_pre_redirect();
- break;
- case "unsolicited":
- test_unsolicited();
- break;
- case "bubbles":
- test_bubbles();
- break;
- case "object":
- test_object();
- break;
- default:
- throw new Error(`INVALID TEST NAME ${testName}`);
- }
- };
-
- function test_generic() {
- var event = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "generic",
- message: {
- something: {
- nested: "hello",
- },
- }
- })
- });
-
- window.dispatchEvent(event);
- }
-
- function test_twoWay() {
- var firstMessage = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "twoway",
- message: {
- command: "one",
- },
- })
- });
-
- window.addEventListener("WebChannelMessageToContent", function(e) {
- var secondMessage = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "twoway",
- message: {
- command: "two",
- detail: e.detail.message,
- },
- }),
- });
-
- if (!e.detail.message.error) {
- window.dispatchEvent(secondMessage);
- }
- }, true);
-
- window.dispatchEvent(firstMessage);
- }
-
- function test_multichannel() {
- var event1 = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "wrongchannel",
- message: {},
- })
- });
-
- var event2 = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "multichannel",
- message: {},
- })
- });
-
- window.dispatchEvent(event1);
- window.dispatchEvent(event2);
- }
-
- function test_iframe() {
- // Note that this message is the response to the message sent
- // by the iframe! This is bad, as this page is *not* trusted.
- window.addEventListener("WebChannelMessageToContent", function(e) {
- // the test parent will fail if the echo message is received.
- echoEventToChannel(e, "echo");
- });
-
- // only attach the iframe for the iframe test to avoid
- // interfering with other tests.
- var iframe = document.createElement("iframe");
- iframe.setAttribute("src", IFRAME_SRC_ROOT + "?iframe");
- document.body.appendChild(iframe);
- }
-
- function test_iframe_pre_redirect() {
- var iframe = document.createElement("iframe");
- iframe.setAttribute("src", IFRAME_SRC_ROOT + "?iframe_pre_redirect");
- document.body.appendChild(iframe);
- }
-
- function test_unsolicited() {
- // echo any unsolicted events back to chrome.
- window.addEventListener("WebChannelMessageToContent", function(e) {
- echoEventToChannel(e, "echo");
- }, true);
- }
-
- function test_bubbles() {
- var event = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "not_a_window",
- message: {
- command: "start"
- }
- })
- });
-
- var nonWindowTarget = document.getElementById("not_a_window");
-
- nonWindowTarget.addEventListener("WebChannelMessageToContent", function(e) {
- echoEventToChannel(e, "not_a_window");
- }, true);
-
-
- nonWindowTarget.dispatchEvent(event);
- }
-
- function test_object() {
- let objectMessage = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: {
- id: "objects",
- message: { type: "object" }
- }
- });
-
- let stringMessage = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: "objects",
- message: { type: "string" }
- })
- });
- // Test fails if objectMessage is received, we send stringMessage to know
- // when we should stop listening for objectMessage
- window.dispatchEvent(objectMessage);
- window.dispatchEvent(stringMessage);
- }
-
- function echoEventToChannel(e, channelId) {
- var echoedEvent = new window.CustomEvent("WebChannelMessageToChrome", {
- detail: JSON.stringify({
- id: channelId,
- message: e.detail.message,
- })
- });
-
- e.target.dispatchEvent(echoedEvent);
- }
-</script>
-
-<div id="not_a_window"></div>
-</body>
-</html>