tor-browser

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

test_window_named_frame_enumeration.html (4287B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1019417
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 1019417</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11  <script type="application/javascript">
     12 
     13  /** Test for Bug 1019417 */
     14  SimpleTest.waitForExplicitFinish();
     15  addLoadEvent(function() {
     16    var names1 = Object.getOwnPropertyNames(window);
     17    var names2 = [];
     18    var gsp = Object.getPrototypeOf(Window.prototype);
     19    var names3 = Object.getOwnPropertyNames(gsp);
     20    for (var i in window) {
     21      names2.push(i);
     22    }
     23 
     24    is(names1.indexOf(""), -1,
     25       "Frame with no name or empty name should not be in our own prop list");
     26    is(names2.indexOf(""), -1,
     27       "Frame with no name or empty name should not be in our enumeration list");
     28    is(names3.indexOf(""), -1,
     29       "Frame with no name or empty name should not be in GSP own prop list");
     30    is(names1.indexOf("x"), -1,
     31       "Frame with about:blank loaded should not be in our own prop list");
     32    is(names2.indexOf("x"), -1,
     33       "Frame with about:blank loaded should not be in our enumeration list");
     34    isnot(names3.indexOf("x"), -1,
     35          "Frame with about:blank loaded should be in GSP own prop list");
     36    is(names1.indexOf("y"), -1,
     37       "Frame with same-origin loaded should not be in our own prop list");
     38    is(names2.indexOf("y"), -1,
     39       "Frame with same-origin loaded should not be in our enumeration list");
     40    isnot(names3.indexOf("y"), -1,
     41          "Frame with same-origin loaded should be in GSP own prop list");
     42    is(names1.indexOf("z"), -1,
     43       "Frame with cross-origin loaded should not be in our own prop list");
     44    is(names2.indexOf("z"), -1,
     45       "Frame with cross-origin loaded should not be in our enumeration list");
     46    isnot(names3.indexOf("z"), -1,
     47          "Frame with cross-origin loaded should be in GSP own prop list");
     48    is(names1.indexOf("sameorigin"), -1,
     49          "Frame with same-origin changed name should not be in our own prop list");
     50    is(names2.indexOf("sameorigin"), -1,
     51       "Frame with same-origin changed name should not be in our enumeration list");
     52    isnot(names3.indexOf("sameorigin"), -1,
     53          "Frame with same-origin changed name should be in GSP own prop list");
     54    is(names1.indexOf("crossorigin"), -1,
     55       "Frame with cross-origin changed name should not be in our own prop list");
     56    is(names2.indexOf("crossorigin"), -1,
     57       "Frame with cross-origin changed name should not be in our enumeration list");
     58    is(names3.indexOf("crossorigin"), -1,
     59       "Frame with cross-origin changed name should not be in GSP own prop list");
     60 
     61    is(Object.getOwnPropertyDescriptor(gsp, ""), undefined,
     62       "Should not have empty string as a named frame");
     63    isnot(Object.getOwnPropertyDescriptor(gsp, "x"), undefined,
     64        "Should have about:blank subframe as a named frame");
     65    isnot(Object.getOwnPropertyDescriptor(gsp, "y"), undefined,
     66        "Should have same-origin subframe as a named frame");
     67    isnot(Object.getOwnPropertyDescriptor(gsp, "z"), undefined,
     68        "Should have cross-origin subframe as a named frame");
     69    isnot(Object.getOwnPropertyDescriptor(gsp, "sameorigin"), undefined,
     70          "Should have same-origin changed name as a named frame");
     71    is(Object.getOwnPropertyDescriptor(gsp, "crossorigin"), undefined,
     72       "Should not have cross-origin-origin changed name as a named frame");
     73    SimpleTest.finish();
     74  });
     75  </script>
     76 </head>
     77 <body>
     78 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1019417">Mozilla Bug 1019417</a>
     79 <p id="display"></p>
     80 <div id="content" style="display: none">
     81 <iframe></iframe>
     82 <iframe name=""></iframe>
     83 <iframe name="x"></iframe>
     84 <iframe name="y"
     85        src="http://mochi.test:8888/tests/dom/base/test/file_empty.html"></iframe>
     86 <iframe name="z"
     87        src="http://example.com/tests/dom/base/test/file_empty.html"></iframe>
     88 <iframe name="v"
     89        src="http://mochi.test:8888/tests/dom/base/test/file_setname.html?sameorigin"></iframe>
     90 <iframe name="w"
     91        src="http://example.com/tests/dom/base/test/file_setname.html?crossorigin"></iframe>
     92 </div>
     93 <pre id="test">
     94 </pre>
     95 </body>
     96 </html>