dom/workers/test/multi_sharedWorker_frame.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <!--
     2   Any copyright is dedicated to the Public Domain.
     3   http://creativecommons.org/publicdomain/zero/1.0/
     4 -->
     5 <!DOCTYPE HTML>
     6 <html>
     7   <head>
     8     <title>Test for SharedWorker</title>
     9   </head>
    10   <body>
    11     <script type="text/javascript;version=1.7">
    12       "use strict";
    14       function debug(message) {
    15         if (typeof(message) != "string") {
    16           throw new Error("debug() only accepts strings!");
    17         }
    18         parent.postMessage(message, "*");
    19       }
    21       let worker;
    23       window.addEventListener("message", function(event) {
    24         if (!worker) {
    25           worker = new SharedWorker("multi_sharedWorker_sharedWorker.js",
    26                                     "FrameWorker");
    27           worker.onerror = function(event) {
    28             debug("Worker error: " + event.message);
    29             event.preventDefault();
    31             let data = {
    32               type: "error",
    33               message: event.message,
    34               filename: event.filename,
    35               lineno: event.lineno,
    36               isErrorEvent: event instanceof ErrorEvent
    37             };
    38             parent.postMessage(data, "*");
    39           };
    41           worker.port.onmessage = function(event) {
    42             debug("Worker message: " + JSON.stringify(event.data));
    43             parent.postMessage(event.data, "*");
    44           };
    45         }
    47         debug("Posting message: " + JSON.stringify(event.data));
    48         worker.port.postMessage(event.data);
    49       });
    50     </script>
    51   </body>
    52 </html>

mercurial