detach-abspos-before-layout.html (926B)
1 <!DOCTYPE html> 2 <title>Detaching positioned object before it is laid out should not crash</title> 3 <link rel="author" href="mailto:kojii@chromium.org"> 4 <link rel="help" href="https://crbug.com/1101986"> 5 <meta name="assert" content="Detaching positioned object before it is laid out should not crash"> 6 <style> 7 .float { 8 float: left; 9 } 10 .abs { 11 position: absolute; 12 } 13 </style> 14 <script src="/resources/testharness.js"></script> 15 <script src="/resources/testharnessreport.js"></script> 16 <body> 17 <div id="container">text<span id="target" class="float"></span></div> 18 </body> 19 <script> 20 test(() => { 21 document.body.offsetTop; 22 let target = document.getElementById('target'); 23 24 // Change `#target` from floating object to positioned object. 25 target.classList.add('abs'); 26 27 // Style recalc without layout, and detach. 28 getComputedStyle(target).display; 29 container.style.display = "none"; 30 }, 'No crash or DCHECK failure'); 31 </script>