tor-browser

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

blob-url-factory.html (1192B)


      1 <body>
      2 <script src="/common/utils.js"></script>
      3 <script src="/common/dispatcher/dispatcher.js"></script>
      4 <script src="script-factory.js"></script>
      5 <script>
      6 const query = new URLSearchParams(window.location.search);
      7 const id = query.get("id");
      8 const variant = query.get("variant");
      9 let parent = "parent";
     10 let useDispatcher = false;
     11 
     12 if (variant === "subframe") {
     13  parent = "parent.parent";
     14 } else if (variant === "popup") {
     15  parent = "opener.parent";
     16 } else if (variant === "popup-dispatch") {
     17  useDispatcher = true;
     18 }
     19 
     20 const blobContent = `
     21  <!doctype html>
     22  <base href="${window.location.href}">
     23  <script src="/common/utils.js"><\/script>
     24  <script src="/common/dispatcher/dispatcher.js"><\/script>
     25 
     26  <script>${createScript(window.origin, query.get("crossOrigin"), parent, id, useDispatcher)}<\/script>
     27 `;
     28 const blob = new Blob([blobContent], { type: "text/html" });
     29 const blobURL = URL.createObjectURL(blob);
     30 if (variant === "subframe") {
     31  const frame = document.createElement("iframe");
     32  frame.src = blobURL;
     33  document.body.append(frame);
     34 } else if (variant === "popup" || variant === "popup-dispatch") {
     35  window.open(blobURL);
     36 } else {
     37  window.location = blobURL;
     38 }
     39 </script>