OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="/js-test-resources/js-test.js"></script> | 2 <script src="/js-test-resources/js-test.js"></script> |
3 <div style="width:100%; height:700px;"></div> | 3 <div style="width:100%; height:700px;"></div> |
4 <iframe id="target-iframe" src="http://localhost:8080/intersection-observer/reso urces/cross-origin-subframe.html" style="height: 100px; overflow-y: scroll"></if rame> | 4 <iframe id="target-iframe" src="http://localhost:8080/intersection-observer/reso urces/cross-origin-subframe.html" style="height: 100px; overflow-y: scroll"></if rame> |
5 <div style="width:100%; height:700px;"></div> | 5 <div style="width:100%; height:700px;"></div> |
6 | 6 |
7 <script> | 7 <script> |
8 setPrintTestResultsLazily(); | 8 setPrintTestResultsLazily(); |
9 self.jsTestIsAsync = true; | 9 self.jsTestIsAsync = true; |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
46 } | 46 } |
47 } | 47 } |
48 | 48 |
49 function handleMessage(event) { | 49 function handleMessage(event) { |
50 if (event.data.hasOwnProperty('scrollTo')) { | 50 if (event.data.hasOwnProperty('scrollTo')) { |
51 document.scrollingElement.scrollTop = event.data.scrollTo; | 51 document.scrollingElement.scrollTop = event.data.scrollTo; |
52 requestAnimationFrame(function () { iframe.contentWindow.postMessage("", "*" ) }); | 52 requestAnimationFrame(function () { iframe.contentWindow.postMessage("", "*" ) }); |
53 } else if (event.data.hasOwnProperty('actual')) { | 53 } else if (event.data.hasOwnProperty('actual')) { |
54 checkData(event.data.actual, event.data.expected); | 54 checkData(event.data.actual, event.data.expected); |
55 } else if (event.data.hasOwnProperty('DONE')) { | 55 } else if (event.data.hasOwnProperty('DONE')) { |
56 finishJSTest(); | 56 // Allow time for pending idle tasks to finish to prevent leaks. |
57 setTimeout(finishJSTest, 150); | |
sof
2016/03/17 07:14:58
Do you need this with the leak exemptions and once
szager1
2016/03/17 17:43:22
The fix for 595155 will make it possible to remove
ojan
2016/03/17 17:48:03
Can you instead add a callback to the Intersection
| |
57 document.scrollingElement.scrollTop = 0; | 58 document.scrollingElement.scrollTop = 0; |
58 } else { | 59 } else { |
59 requestAnimationFrame(function () { iframe.contentWindow.postMessage("", "*" ) }); | 60 requestAnimationFrame(function () { iframe.contentWindow.postMessage("", "*" ) }); |
60 } | 61 } |
61 } | 62 } |
62 | 63 |
63 window.addEventListener("message", handleMessage); | 64 window.addEventListener("message", handleMessage); |
65 | |
64 iframe.onload = function() { | 66 iframe.onload = function() { |
65 iframe.contentWindow.postMessage("", "*") | 67 // See LayoutTests/intersection-observer/README for explanation of double RAF. |
66 }; | 68 requestAnimationFrame(() => { |
69 requestAnimationFrame(() => { iframe.contentWindow.postMessage("", "*") }) | |
70 }); | |
71 } | |
67 </script> | 72 </script> |
OLD | NEW |