layout-dependent-focus.html (1139B)
1 <!doctype html> 2 <title>CSS Container Queries: Input losing focus as a result of a size query</title> 3 <link rel="help" href="https://drafts.csswg.org/css-conditional-5/#size-container"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="support/cq-testcommon.js"></script> 7 <style> 8 #container { 9 container-type: inline-size; 10 width: 200px; 11 } 12 #container.narrow { 13 width: 100px; 14 } 15 @container (width = 100px) { 16 #inner.hide { visibility: hidden; } 17 } 18 </style> 19 <div id="outer"> 20 <div id="container"> 21 <input type="text" id="inner"> 22 </div> 23 </div> 24 <script> 25 setup(() => assert_implements_size_container_queries()); 26 27 let hide_test = async_test("Verify that onblur is called on hidden input"); 28 onload = () => { 29 inner.addEventListener("blur", () => hide_test.done()); 30 inner.focus(); 31 inner.className = "hide"; 32 container.className = "narrow"; 33 requestAnimationFrame(() => { 34 requestAnimationFrame(() => { 35 hide_test.step(() => assert_unreached("Event listener for 'blur' not called")); 36 }); 37 }); 38 }; 39 </script>