reinsert-element.html (1059B)
1 <!DOCTYPE html> 2 <meta name="viewport" content="width=device-width,initial-scale=1"> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="./resources/intersection-observer-test-utils.js"></script> 6 7 <style> 8 pre, #log { 9 position: absolute; 10 top: 0; 11 left: 200px; 12 } 13 </style> 14 15 <div id="target">Hello, world!</div> 16 17 <script> 18 promise_test(async function(t) { 19 let entries = []; 20 let target = document.getElementById("target"); 21 let observer = new IntersectionObserver(function(changes) { 22 entries = entries.concat(changes); 23 }); 24 observer.observe(target); 25 await waitForNotification(); 26 assert_equals(entries.length, 1); 27 assert_true(entries[0].isIntersecting); 28 target.remove(); 29 document.body.appendChild(target); 30 await waitForNotification(); 31 assert_equals(entries.length, 1); 32 assert_true(entries[0].isIntersecting); 33 }, "An element that is removed and reinserted without an intervening" + 34 " rendering update doesn't generate a 'not-intersecting' notification."); 35 </script>