tor-browser

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

test_bug1197901.html (3009B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1197901
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 1197901</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 1197901 */
     14  SimpleTest.requestFlakyTimeout("requestFlakyTimeout is silly");
     15  SimpleTest.waitForExplicitFinish();
     16  window.onload = function() {
     17    SimpleTest.waitForFocus(function() {
     18      SpecialPowers.pushPrefEnv({"set": [["device.sensors.test.events", true]]},
     19                                doTest);
     20      }, window);
     21  };
     22 
     23  function doTest() {
     24    window.onmessage = function(event) {
     25      ok(event.data.result, event.data.message);
     26    };
     27 
     28    // Only same-origin iframe should get the events.
     29    var xo = document.getElementById("cross-origin");
     30    xo.contentWindow.postMessage(
     31      { command: "addEventListener",
     32        expected: false,
     33        message: "Cross-origin iframe shouldn't get the sensor events."},
     34      "*");
     35 
     36    var so = document.getElementById("same-origin");
     37    so.contentWindow.postMessage(
     38      { command: "addEventListener",
     39        expected: true,
     40        message: "Same-origin iframe should get the sensor events." },
     41      "*");
     42 
     43    // We need a timeout here to check that something does not happen.
     44    setTimeout(function() {
     45      so.remove();
     46      xo.remove();
     47      doWindowTest();
     48    }, 500);
     49  }
     50 
     51  function doWindowTest() {
     52    var win = window.open("file_bug1197901.html", "w1", "height=100,width=100");
     53    win.onload = function() {
     54      win.focus();
     55      SimpleTest.waitForFocus(function() {
     56        var win2 = window.open("file_bug1197901.html", "w2", "height=100,width=100,left=100");
     57        win2.onload = function() {
     58          win2.focus();
     59          SimpleTest.waitForFocus(function() {
     60            // Only focused window should get the events.
     61            win.postMessage(
     62              { command: "addEventListener",
     63                expected: false,
     64                message: "Only focused window should get the sensor events." },
     65              "*");
     66            win2.postMessage(
     67              { command: "addEventListener",
     68                expected: true,
     69                message: "Focused window should get the sensor events." },
     70              "*");
     71            setTimeout(function() {
     72              window.onmessage = null;
     73              win.close();
     74              win2.close();
     75              SimpleTest.finish();
     76            }, 500);
     77          }, win2);
     78        };
     79      }, win);
     80    };
     81  }
     82 
     83  </script>
     84 </head>
     85 <body>
     86 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
     87 <p id="display"></p>
     88 <div id="content" style="display: none">
     89 
     90 </div>
     91 <pre id="test">
     92 </pre>
     93 <iframe src="file_bug1197901.html" id="same-origin"></iframe>
     94 <iframe src="http://example.com/tests/dom/system/tests/file_bug1197901.html" id="cross-origin"></iframe>
     95 </body>
     96 </html>