position-absolute-crash-chrome-005.html (1460B)
1 <!DOCTYPE html> 2 <title>CSS Position Absolute: Chrome crash</title> 3 <link rel="author" href="mailto:atotic@chromium.org"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=949222"> 7 <meta name="assert" content="Dynamic containing block change does not crash"> 8 <style> 9 .container { 10 position: relative; 11 } 12 .abs { 13 position: absolute; 14 width: 50px; 15 height: 50px; 16 background: green; 17 } 18 @keyframes slidein { 19 from { transform: scaleX(0); } 20 to { transform: scaleX(1); } 21 } 22 .animate { 23 animation: slidein 0.1s linear; 24 } 25 .boundary { 26 overflow: hidden; 27 width: 100px; 28 height: 100px; 29 } 30 </style> 31 <!-- LayoutNG currently does not support display:flex. 32 Propagation of descendants across flex boundaries is error prone --> 33 <div id="one" class="container" style=""> 34 <div class="boundary"> 35 <div class="boundary"> 36 <div class="boundary"> 37 <div id="intermediate"> 38 <div class="abs"></div> 39 </div> 40 </div> 41 </div> 42 </div> 43 </div> 44 <script> 45 let t = async_test("Test passes if it does not crash"); 46 let el = document.querySelector("#intermediate"); 47 el.addEventListener("animationend", _ => { 48 t.step(function() { 49 document.body.offsetTop; 50 assert_true(true, "test did not crash"); 51 t.done(); 52 }) 53 }); 54 el.classList.add("animate"); 55 </script>