tor-browser

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

nested-cross-origin.sub.html (1470B)


      1 <!DOCTYPE html>
      2 <meta name="viewport" content="width=device-width,initial-scale=1">
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="../resources/intersection-observer-test-utils.js"></script>
      6 
      7 <style>
      8 pre, #log {
      9  position: absolute;
     10  top: 0;
     11  left: 200px;
     12 }
     13 iframe {
     14  width: 300px;
     15  height: 150px;
     16  border: none;
     17 }
     18 </style>
     19 
     20 <iframe src="http://{{domains[www1]}}:{{ports[http][0]}}/intersection-observer/resources/v2-midframe.sub.html"></iframe>
     21 
     22 <script>
     23 async_test(function(t) {
     24  let iframe = document.querySelector("iframe");
     25 
     26  function step0(event) {
     27    assert_equals(event.data,"");
     28  }
     29 
     30  function step1(event) {
     31    assert_equals(JSON.stringify(event.data),
     32                  JSON.stringify([true]));
     33    iframe.style.opacity = "0.9";
     34  }
     35 
     36  function step2(event) {
     37    assert_equals(JSON.stringify(event.data),
     38                  JSON.stringify([false]));
     39    iframe.style.opacity = "";
     40  }
     41 
     42  function step3(event) {
     43    assert_equals(JSON.stringify(event.data),
     44                  JSON.stringify([true]));
     45  }
     46 
     47  let steps = [step0, step1, step2, step3];
     48 
     49  window.addEventListener("message", event => {
     50    if (steps.length) {
     51      t.step(steps.shift(), t, event);
     52      waitForFrame(t, () => {
     53        iframe.contentWindow.postMessage("", "*");
     54      });
     55    } else {
     56      t.done();
     57    }
     58  });
     59 
     60 }, "Intersection observer V2 test with nested cross-origin iframes.");
     61 </script>