tor-browser

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

test.html (4732B)


      1 <!DOCTYPE html>
      2 <html lang="en">
      3  <head>
      4    <meta charset="UTF-8" />
      5    <title>Creating Session - Web Platform Tests</title>
      6    <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
      7    <link rel="stylesheet" href="css/style.css" />
      8    <link rel="stylesheet" href="css/main.css" />
      9    <script src="lib/wave-service.js"></script>
     10    <style>
     11      #console {
     12        font-family: monospace;
     13      }
     14      .spinner {
     15        height: 0.7em;
     16        width: 0.7em;
     17      }
     18      .fa-pulse {
     19        -webkit-animation: fa-spin 1s steps(8) infinite;
     20        animation: fa-spin 1s steps(8) infinite;
     21      }
     22      @-webkit-keyframes fa-spin {
     23        0% {
     24          -webkit-transform: rotate(0deg);
     25          transform: rotate(0deg);
     26        }
     27        to {
     28          -webkit-transform: rotate(1turn);
     29          transform: rotate(1turn);
     30        }
     31      }
     32      @keyframes fa-spin {
     33        0% {
     34          -webkit-transform: rotate(0deg);
     35          transform: rotate(0deg);
     36        }
     37        to {
     38          -webkit-transform: rotate(1turn);
     39          transform: rotate(1turn);
     40        }
     41      }
     42    </style>
     43  </head>
     44  <body>
     45    <section class="section">
     46      <div class="container">
     47        <img src="res/wavelogo_2016.jpg" alt="WAVE Logo" class="site-logo" />
     48 
     49        <h1 class="title is-spaced">
     50          <span>
     51            <img src="res/spinner-solid.svg" class="spinner fa-pulse" />
     52          </span>
     53          Creating Session
     54        </h1>
     55        <div id="content">
     56          <div id="details-wrapper">
     57            <div class="detail">
     58              <div>Reference Tokens:</div>
     59              <div id="reference-tokens"></div>
     60            </div>
     61            <div class="detail">
     62              <div>Test Paths:</div>
     63              <div id="test-path"></div>
     64            </div>
     65          </div>
     66 
     67          <div id="console"></div>
     68        </div>
     69      </div>
     70    </section>
     71    <script>
     72      var screenConsole = document.getElementById("console");
     73      var log = function() {
     74        var text = "";
     75        for (var i = 0; i < arguments.length; i++) {
     76          text += arguments[i] + " ";
     77        }
     78        text = text.replace(/ /gm, "&nbsp;");
     79        text = text.replace(/\n/gm, "<br/>");
     80        screenConsole.innerHTML += "<br/>" + text;
     81      };
     82 
     83      window.onerror = function(error) {
     84        log(error);
     85      };
     86 
     87      var HOSTNAME = location.hostname;
     88      var PORT = location.port;
     89      var PROTOCOL = location.protocol.replace(/:/, "");
     90      var QUERY = decodeURIComponent(location.search.replace(/\?/, ""));
     91      var match = QUERY.match(/token=([^&]+)/);
     92      var TOKEN = match ? match[1] : null;
     93      QUERY += /[\?&]path=/.test(location.search) ? "" : "&resume=1";
     94 
     95      var parsedQuery = {};
     96 
     97      var parts = QUERY.split("&");
     98      for (var i = 0; i < parts.length; i++) {
     99        var part = parts[i];
    100        var key = part.split("=")[0];
    101        var value = part.split("=")[1];
    102        parsedQuery[key] = value;
    103      }
    104 
    105      var includedTests = [];
    106      var paths = parsedQuery["path"].split(",");
    107      for (var i = 0; i < paths.length; i++) {
    108        var path = paths[i];
    109        includedTests.push(path.trim());
    110      }
    111 
    112      var excludedTests = [
    113        "/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-classic.html",
    114        "/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-module.html"
    115      ];
    116 
    117      var referenceTokens = [];
    118      if (parsedQuery["reftoken"]) {
    119        var paths = parsedQuery["reftoken"].split(",");
    120        for (var i = 0; i < paths.length; i++) {
    121          var path = paths[i];
    122          referenceTokens.push(path.trim());
    123        }
    124      }
    125 
    126      var testPath = document.getElementById("test-path");
    127      var paths = includedTests;
    128      for (var i = 0; i < paths.length; i++) {
    129        var path = paths[i];
    130        testPath.innerText += path + "\n";
    131      }
    132      var referenceTokensElement = document.getElementById("reference-tokens");
    133      if (referenceTokens.length === 0) {
    134        referenceTokensElement.innerText = "none";
    135      } else {
    136        for (var i = 0; i < referenceTokens.length; i++) {
    137          var token = referenceTokens[i];
    138          referenceTokensElement.innerText += token + "\n";
    139        }
    140      }
    141      log("Please wait ...");
    142      WaveService.createSession(
    143        {
    144          tests: { include: includedTests, exclude: excludedTests },
    145          referenceTokens: referenceTokens
    146        },
    147        function(token) {
    148          log("Session created successfully! Token: " + token);
    149          log("Redirecting ...");
    150          location.href = "/newsession.html?token=" + token;
    151        }
    152      );
    153    </script>
    154  </body>
    155 </html>