| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="./resizeTestHelper.js"></script> |
| |
| <h1>frame4</h1> |
| |
| <script> |
| 'use strict'; |
| |
| function test() { |
| let target1 = parent.frames[0].document.querySelector('#target1'); |
| let target2 = parent.frames[0].document.querySelector('#target2'); |
| |
| if (!target1 || !target2) { |
| setTimeout("test()", 10); |
| return; |
| } |
| |
| let timeoutId = window.setTimeout( () => { |
| parent.parent.postMessage('fail', '*'); |
| }, ResizeTestHelper.TIMEOUT); |
| let helper = new ResizeTestHelper( |
| "test: observe elements from sibling frames", |
| [ |
| { |
| setup: observer => { |
| observer.observe(target1); |
| observer.observe(target2); |
| target1.style.width = "50px"; |
| target2.style.width = "50px"; |
| }, |
| notify: (entries, observer) => { |
| assert_equals(entries.length, 2, "1 resizes"); |
| assert_equals(entries[0].target, target1, "element from sibling frame"); |
| assert_equals(entries[1].target, target2, "element from sibling frame"); |
| } |
| }, |
| { |
| setup: observer => { |
| target2.style.width = "25px"; |
| }, |
| notify: (entries, observer) => { |
| assert_equals(entries.length, 1, "1 resizes"); |
| assert_equals(entries[0].target, target2, "element from sibling frame"); |
| window.clearTimeout(timeoutId); |
| parent.parent.postMessage('success', '*'); |
| } |
| } |
| ]); |
| add_result_callback(function(testobj) { |
| if (testobj.FAIL == testobj.status) |
| parent.parent.postMessage('fail', '*'); |
| }); |
| return helper.start(); |
| } |
| |
| test(); |
| </script> |