| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <div style="height: 200px; width: 100px;"></div> | 2 <div style="height: 200px; width: 100px;"></div> |
| 3 <div id="target" style="background-color: green; width:100px; height:100px"></di
v> | 3 <div id="target" style="background-color: green; width:100px; height:100px"></di
v> |
| 4 <div style="height: 200px; width: 100px;"></div> | 4 <div style="height: 200px; width: 100px;"></div> |
| 5 | 5 |
| 6 <script> | 6 <script> |
| 7 var port; | 7 var port; |
| 8 var entries = []; | 8 var entries = []; |
| 9 var target = document.getElementById('target'); | 9 var target = document.getElementById('target'); |
| 10 var scroller = document.scrollingElement; | 10 var scroller = document.scrollingElement; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 | 45 |
| 46 // Use a rootMargin here, and verify it does NOT get applied for the cross-origi
n case. | 46 // Use a rootMargin here, and verify it does NOT get applied for the cross-origi
n case. |
| 47 var observer = new IntersectionObserver(function(changes) { | 47 var observer = new IntersectionObserver(function(changes) { |
| 48 entries = entries.concat(changes) | 48 entries = entries.concat(changes) |
| 49 }, { rootMargin: "7px" }); | 49 }, { rootMargin: "7px" }); |
| 50 observer.observe(target); | 50 observer.observe(target); |
| 51 | 51 |
| 52 function step0() { | 52 function step0() { |
| 53 entries = entries.concat(observer.takeRecords()); | 53 entries = entries.concat(observer.takeRecords()); |
| 54 nextStep = step1; | 54 nextStep = step1; |
| 55 var expected = [{ |
| 56 boundingClientRect: coordinatesToClientRectJson(8, 208, 108, 308), |
| 57 intersectionRect: coordinatesToClientRectJson(0, 0, 0, 0), |
| 58 rootBounds: "null", |
| 59 target: target.id |
| 60 }]; |
| 55 port.postMessage({ | 61 port.postMessage({ |
| 56 actual: entries.map(entryToJson), | 62 actual: entries.map(entryToJson), |
| 57 expected: [], | 63 expected: expected, |
| 58 description: "First rAF" | 64 description: "First rAF" |
| 59 }, "*"); | 65 }, "*"); |
| 60 entries = []; | 66 entries = []; |
| 61 port.postMessage({scrollTo: 200}, "*"); | 67 port.postMessage({scrollTo: 200}, "*"); |
| 62 } | 68 } |
| 63 | 69 |
| 64 function step1() { | 70 function step1() { |
| 65 entries = entries.concat(observer.takeRecords()); | 71 entries = entries.concat(observer.takeRecords()); |
| 66 port.postMessage({ | 72 port.postMessage({ |
| 67 actual: entries.map(entryToJson), | 73 actual: entries.map(entryToJson), |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 116 |
| 111 function handleMessage(event) | 117 function handleMessage(event) |
| 112 { | 118 { |
| 113 port = event.source; | 119 port = event.source; |
| 114 nextStep(); | 120 nextStep(); |
| 115 } | 121 } |
| 116 | 122 |
| 117 nextStep = step0; | 123 nextStep = step0; |
| 118 window.addEventListener("message", handleMessage); | 124 window.addEventListener("message", handleMessage); |
| 119 </script> | 125 </script> |
| OLD | NEW |