tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

postMessage_chrome_helper.html (1261B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <title>postMessage chrome message receiver</title>
      5  <script type="application/javascript">
      6    var gPrePath = "";
      7 
      8    function receiveMessage(evt)
      9    {
     10      if (evt.data.substring(0,9) == "chrome://") {
     11        gPrePath = evt.data;
     12        respond("path-is-set");
     13      } else {
     14        // Content cannot post to chrome without privileges
     15        try {
     16          window.parent.postMessage("SHOULD NOT GET THIS!", "*");
     17        }
     18        catch (ex) {
     19        }
     20 
     21        var msg = "post-to-content-response";
     22 
     23        if (evt.source !== null)
     24          msg += " wrong-source(" + evt.source + ")";
     25        if (!evt.isTrusted)
     26          msg += " unexpected-untrusted-event";
     27        if (evt.type !== "message")
     28          msg += " wrong-type(" + evt.type + ")";
     29        if (evt.origin !== gPrePath)
     30          msg += " wrong-origin(" + evt.origin + ")";
     31        if (evt.data !== "post-to-content")
     32          msg += " wrong-message(" + evt.data + ")";
     33 
     34        respond(msg);
     35      }
     36    }
     37    
     38    function respond(msg)
     39    {
     40      SpecialPowers.wrap(window).parent.postMessage(msg, "*");
     41    }
     42    
     43    window.addEventListener("message", receiveMessage);
     44  </script>
     45 </head>
     46 <body>
     47 <h1 id="domain">example.org</h1>
     48 </body>
     49 </html>