tor-browser

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

postMessage_joined_helper.html (2288B)


      1 <!DOCTYPE html>
      2 <html>
      3 <!--
      4 http://sub1.test1.example.org/tests/dom/tests/mochitest/whatwg/postMessage_joined_helper.html
      5 -->
      6 <head>
      7  <title>postMessage joined domains, inner frame</title>
      8  <script type="application/javascript">
      9    function receiveMessage(evt)
     10    {
     11      var response, target, providedOrigin;
     12      var data = evt.data;
     13      if (data === "subframe-test-finished")
     14      {
     15        target = window.parent;
     16        providedOrigin = "http://mochi.test:8888";
     17        response = "test-passed";
     18      }
     19      else if (data === "start-test")
     20      {
     21        target = window.frames.innermost;
     22        providedOrigin = "http://example.org";
     23        response = "start-test";
     24      }
     25      else
     26      {
     27        target = window.parent;
     28        providedOrigin = "http://mochi.test:8888";
     29        response = "not reached";
     30      }
     31 
     32      if (evt.lastEventId !== "")
     33        response += " wrong-lastEventId(" + evt.lastEventId + ")";
     34 
     35      if (evt.type !== "message")
     36        response += " wrong-type(" + evt.type + ")";
     37 
     38      if (evt.target !== window)
     39      {
     40        response += " wrong-target(" + evt.target + ")";
     41        response += " location(" + window.location.href + ")";
     42      }
     43 
     44      var origin;
     45      if (data == "subframe-test-finished")
     46        origin = "http://example.org";
     47      else if (data === "start-test")
     48        origin = "http://mochi.test:8888";
     49      else
     50        origin = "unreached";
     51 
     52      if (evt.origin !== origin)
     53      {
     54        response += " wrong-origin(" + evt.origin + ")";
     55        response += " location(" + window.location.href + ")";
     56      }
     57 
     58      target.postMessage(response, providedOrigin);
     59    }
     60 
     61    function setup()
     62    {
     63      var oldDomain = document.domain;
     64      var newDomain = "example.org";
     65 
     66      document.domain = newDomain;
     67 
     68      var target = document.getElementById("location");
     69      target.textContent = "Location: " + oldDomain +
     70                           ", effective domain: " + newDomain;
     71 
     72      window.addEventListener("message", receiveMessage);
     73    }
     74 
     75    window.addEventListener("load", setup);
     76  </script>
     77 </head>
     78 <body>
     79 <p id="location">No location!</p>
     80 
     81 <iframe src="http://example.org/tests/dom/tests/mochitest/whatwg/postMessage_joined_helper2.html"
     82        name="innermost"></iframe>
     83 
     84 </body>
     85 </html>