tor-browser

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

test_triggeringprincipal_frame_nav.html (2652B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>Bug 1181370 - Test triggeringPrincipal for iframe navigations</title>
      6  <!-- Including SimpleTest.js so we can use waitForExplicitFinish !-->
      7  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      8  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      9 </head>
     10 <body>
     11 <iframe style="width:100%;" id="testframe1"></iframe>
     12 <iframe style="width:100%;" id="testframe2"></iframe>
     13 
     14 <script class="testbody" type="text/javascript">
     15 
     16 /* Description of the test:
     17 *
     18 * +------------------------------------+
     19 * |  +----------+   +--------------+   |
     20 * |  | Frame 1  |   | Frame 2      |   |
     21 * |  +----------+   |              |   |
     22 * |                 | +----------+ |   |
     23 * |                 | | Subframe | |   |
     24 * |                 | +----------+ |   |
     25 * |                 +--------------+   |
     26 * +------------------------------------+
     27 *
     28 * Frame1:   test1.mochi.test
     29 * Frame2:   test2.mochi.test
     30 * Subframe: test2.mochi.test
     31 *
     32 * (*) Frame1 and Subframe set their document.domain to mochi.test
     33 * (*) Frame1 navigates the Subframe
     34 * (*) TriggeringPrincipal for the Subframe navigation should be
     35 *     ==> test1.mochi.test
     36 * (*) LoadingPrincipal for the Subframe navigation should be
     37 *     ==> test2.mochi.test
     38 */
     39 
     40 // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     41 const BASEDOMAIN1 = "http://test1.mochi.test:8888/";
     42 // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     43 const BASEDOMAIN2 = "http://test2.mochi.test:8888/";
     44 const PATH = "tests/docshell/test/navigation/";
     45 const BASEURL1 = BASEDOMAIN1 + PATH;
     46 const BASEURL2 = BASEDOMAIN2 + PATH;
     47 const TRIGGERINGPRINCIPALURI = BASEURL1 + "file_triggeringprincipal_frame_1.html";
     48 const LOADINGPRINCIPALURI = BASEURL2 + "file_triggeringprincipal_frame_2.html";
     49 
     50 SimpleTest.waitForExplicitFinish();
     51 
     52 window.addEventListener("message", receiveMessage);
     53 
     54 function receiveMessage(event) {
     55  is(event.data.triggeringPrincipalURI, TRIGGERINGPRINCIPALURI,
     56     "TriggeringPrincipal should be the navigating iframe (Frame 1)");
     57  is(event.data.loadingPrincipalURI, LOADINGPRINCIPALURI,
     58     "LoadingPrincipal should be the enclosing iframe (Frame 2)");
     59  is(event.data.referrerURI, BASEDOMAIN1,
     60     "The path of Referrer should be trimmed (Frame 1)");
     61 
     62  window.removeEventListener("message", receiveMessage);
     63  SimpleTest.finish();
     64 }
     65 
     66 var frame1 = document.getElementById("testframe1");
     67 frame1.src = BASEURL1 + "file_triggeringprincipal_frame_1.html";
     68 
     69 var frame2 = document.getElementById("testframe2");
     70 frame2.src = BASEURL2 + "file_triggeringprincipal_frame_2.html";
     71 
     72 </script>
     73 </body>
     74 </html>