zero-area-element-hidden.html (1151B)
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 #target { 14 width: 0px; 15 height: 0px; 16 position: fixed; 17 top: -1000px; 18 } 19 </style> 20 21 <div id='target'></div> 22 23 <script> 24 var vw = document.documentElement.clientWidth; 25 var vh = document.documentElement.clientHeight; 26 27 var entries = []; 28 29 runTestCycle(function() { 30 var target = document.getElementById('target'); 31 assert_true(!!target, "target exists"); 32 var observer = new IntersectionObserver(function(changes) { 33 entries = entries.concat(changes) 34 }); 35 observer.observe(target); 36 entries = entries.concat(observer.takeRecords()); 37 assert_equals(entries.length, 0, "No initial notifications."); 38 runTestCycle(step0, "First rAF."); 39 }, "A zero-area hidden target should not be intersecting."); 40 41 function step0() { 42 checkLastEntry(entries, 0, [8, 8, -1000, -1000, 0, 0, 0, 0, 0, vw, 0, vh, false]); 43 } 44 </script>