tor-browser

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

file_frameNavigation_innermost.html (3323B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <body>
      4 <div id="content"></div>
      5 <script>
      6  // get the case from the query string
      7  var type = location.search.substring(1);
      8 
      9  function clickLink() {
     10    // If we don't reflow before clicking the link, the test will fail intermittently. The reason is still unknown. We'll track this issue in bug 1259715.
     11    requestAnimationFrame(function() {
     12      setTimeout(function() {
     13        document.getElementById("link").click();
     14      }, 0);
     15    });
     16  }
     17 
     18  switch (type) {
     19    case "insecurePage_navigate_child":
     20      document.getElementById("content").innerHTML =
     21        '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?insecurePage_navigate_child_response" id="link">Testing\<\/a>';
     22      clickLink();
     23      break;
     24 
     25    case "insecurePage_navigate_child_response":
     26      parent.parent.postMessage({"test": "insecurePage_navigate_child", "msg": "navigated to insecure iframe on insecure page"}, "http://mochi.test:8888");
     27      document.getElementById("content").innerHTML = "Navigated from secure to insecure frame on an insecure page";
     28      break;
     29 
     30    case "insecurePage_navigate_grandchild":
     31      document.getElementById("content").innerHTML =
     32        '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?insecurePage_navigate_grandchild_response" id="link">Testing\<\/a>';
     33      clickLink();
     34      break;
     35 
     36    case "insecurePage_navigate_grandchild_response":
     37      parent.parent.parent.postMessage({"test": "insecurePage_navigate_grandchild", "msg": "navigated to insecure grandchild iframe on insecure page"}, "http://mochi.test:8888");
     38      document.getElementById("content").innerHTML = "Navigated from secure to insecure grandchild frame on an insecure page";
     39      break;
     40 
     41    case "securePage_navigate_child":
     42      document.getElementById("content").innerHTML =
     43        '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?securePage_navigate_child_response" id="link">Testing\<\/a>';
     44      clickLink();
     45      break;
     46 
     47    case "securePage_navigate_child_response":
     48      document.getElementById("content").innerHTML = "<p>Navigated from secure to insecure frame on a secure page</p>";
     49      parent.parent.postMessage({"test": "securePage_navigate_child", "msg": "navigated to insecure iframe on secure page"}, "http://mochi.test:8888");
     50      break;
     51 
     52    case "securePage_navigate_grandchild":
     53      document.getElementById("content").innerHTML=
     54        '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?securePage_navigate_grandchild_response" id="link">Testing\<\/a>';
     55      clickLink();
     56      break;
     57 
     58    case "securePage_navigate_grandchild_response":
     59      parent.parent.parent.postMessage({"test": "securePage_navigate_grandchild", "msg": "navigated to insecure grandchild iframe on secure page"}, "http://mochi.test:8888");
     60      document.getElementById("content").innerHTML = "<p>Navigated from secure to insecure grandchild frame on a secure page</p>";
     61      break;
     62 
     63    case "blankTarget":
     64      window.close();
     65      break;
     66 
     67    default:
     68      document.getElementById("content").innerHTML = "Hello";
     69      break;
     70   }
     71 
     72 </script>
     73 </body>
     74 </html>