| <!DOCTYPE html> | |
| <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="../resources/intersection-observer-test-utils.js"></script> | |
| <style> | |
| pre, #log { | |
| position: absolute; | |
| top: 0; | |
| left: 200px; | |
| } | |
| </style> | |
| <div id="container"> | |
| <iframe src="http://{{domains[www1]}}:{{ports[http][0]}}/intersection-observer/resources/v2-subframe.html"></iframe> | |
| </div> | |
| <script> | |
| async_test(function(t) { | |
| let container = document.getElementById("container"); | |
| let iframe = document.querySelector("iframe"); | |
| function step0(event) { | |
| assert_equals(event.data,""); | |
| } | |
| function step1(event) { | |
| container.style.opacity = "0.99"; | |
| assert_equals(JSON.stringify(event.data), | |
| JSON.stringify([true])); | |
| } | |
| function step2(event) { | |
| container.style.opacity = ""; | |
| assert_equals(JSON.stringify(event.data), | |
| JSON.stringify([false])); | |
| } | |
| function step3(event) { | |
| container.style.transform = "skew(30deg)"; | |
| assert_equals(JSON.stringify(event.data), | |
| JSON.stringify([true])); | |
| } | |
| function step4(event) { | |
| assert_equals(JSON.stringify(event.data), | |
| JSON.stringify([false])); | |
| } | |
| let steps = [step0, step1, step2, step3, step4]; | |
| window.addEventListener("message", event => { | |
| if (steps.length) { | |
| t.step(steps.shift(), t, event); | |
| waitForFrame(t, () => { | |
| iframe.contentWindow.postMessage("", "*") | |
| }); | |
| } else { | |
| t.done(); | |
| } | |
| }); | |
| }, "Intersection observer V2 test with visual effects on iframe."); | |
| </script> |