element-render-blocking-031.html (1762B)
1 <!DOCTYPE html> 2 <meta name="timeout" content="long"> 3 <head> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="support/utils.js"></script> 7 <title>`link rel=expect` supports dynamically changed <a name></title> 8 9 <link rel=expect href="#second" blocking="render"> 10 <script> 11 async_test((t) => { 12 requestAnimationFrame(() => { 13 t.step(() => assert_true(!!document.getElementsByName("second"))); 14 t.step(() => assert_false(!!document.getElementById("last")), "the second element should already unblock rendering"); 15 t.done(); 16 }); 17 }, "blocking defers frames until full parsing"); 18 </script> 19 </head> 20 <body> 21 <div id="first"> 22 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue 23 nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit 24 tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies 25 tempor mi est eget ipsum egestas. 26 </div> 27 <script> 28 generateParserDelay(); 29 </script> 30 <a id="fold"> 31 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue 32 nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit 33 tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies 34 tempor mi est eget ipsum egestas. 35 </a> 36 <script> 37 document.getElementById("fold").setAttribute("name", "second"); 38 </script> 39 <script> 40 generateParserDelay(); 41 </script> 42 <div id="last"> 43 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue 44 nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit 45 tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies 46 tempor mi est eget ipsum egestas. 47 </div> 48 </body>