OLD | NEW |
| (Empty) |
1 All of the IntersectionObserver tests feature the following idiom: | |
2 | |
3 <script> | |
4 var observer = new IntersectionObserver(...) | |
5 function test_function() { | |
6 var entries = observer.takeRecords(); | |
7 // Verify entries | |
8 } | |
9 onload = function() { | |
10 observer.observe(target); | |
11 requestAnimationFrame(() => { requestAnimationFrame(test_function) }); | |
12 } | |
13 | |
14 | |
15 Subsequent steps in the test use a single RAF to give the observer a chance to | |
16 generate notifications, but the double RAF is required in the onload handler. | |
17 Here's the chain of events: | |
18 | |
19 - onload | |
20 - observer.observe() | |
21 - First RAF handler is registered | |
22 - BeginFrame | |
23 - RAF handlers run | |
24 - Second RAF handler is registered | |
25 - UpdateAllLifecyclePhases | |
26 - IntersectionObserver generates notifications | |
27 - BeginFrame | |
28 - RAF handlers run | |
29 - Second RAF handler verifies observer notifications. | |
OLD | NEW |