tor-browser

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

file_content_javascript_loads_root.html (912B)


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4 <meta charset="utf-8">
      5 <script type="application/javascript">
      6 "use strict";
      7 
      8 window.onload = () => {
      9  opener.postMessage("ready", "*");
     10 };
     11 
     12 // eslint-disable-next-line no-shadow
     13 function promiseMessage(source, filter = () => true) {
     14  return new Promise(resolve => {
     15    function listener(event) {
     16      if (event.source == source && filter(event)) {
     17        removeEventListener("message", listener);
     18        resolve(event);
     19      }
     20    }
     21    addEventListener("message", listener);
     22  });
     23 }
     24 
     25 // Sends a message to the given target window and waits for the response.
     26 function ping(target) {
     27  let msg = { ping: Math.random() };
     28  target.postMessage(msg, "*");
     29  return promiseMessage(
     30    target,
     31    event => event.data && event.data.pong == msg.ping
     32  );
     33 }
     34 
     35 function setFrameLocation(name, uri) {
     36  window[name].location = uri;
     37 }
     38 </script>
     39 </head>
     40 <body>
     41 </body>
     42 </html>