<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!
DOCTYPE HTML>
<
html>
<
head>
<
title>Test for SharedWorker</
title>
</
head>
<
body>
<
script type=
"text/javascript">
"use strict";
function postMessageToParentOrOpener(message) {
if (parent != window) {
parent.postMessage(message,
"*");
}
}
function debug(message) {
if (typeof(message) !=
"string") {
throw new Error(
"debug() only accepts strings!");
}
postMessageToParentOrOpener(message);
}
let worker;
window.addEventListener(
"message", function(event) {
if (!worker) {
worker = new SharedWorker(
"multi_sharedWorker_sharedWorker.js",
"FrameWorker");
worker.onerror = function(error) {
debug(
"Worker error: " + error.message);
error.preventDefault();
let data = {
type:
"error",
message: error.message,
filename: error.filename,
lineno: error.lineno,
isErrorEvent: error instanceof ErrorEvent
};
postMessageToParentOrOpener(data);
};
worker.port.onmessage = function(msg) {
debug(
"Worker message: " + JSON.stringify(msg.data));
postMessageToParentOrOpener(msg.data);
};
}
debug(
"Posting message: " + JSON.stringify(event.data));
worker.port.postMessage(event.data);
});
</
script>
</
body>
</
html>