| <!DOCTYPE html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support/utils.js"></script> |
| <title>`link rel=expect` is unblocked for dynamically inserted anchor with name</title> |
| |
| <link rel=expect href="#target" blocking="render"> |
| <script> |
| async_test((t) => { |
| requestAnimationFrame(() => { |
| t.step(() => assert_equals(document.getElementsByName("target").length, 1, "The target element should be present when rendering is unblocked")); |
| t.step(() => assert_equals(document.getElementById("last"), null, "the target element should unblock rendering")); |
| t.done(); |
| }); |
| }, "blocking defers frames until full parsing"); |
| </script> |
| </head> |
| <body> |
| <div id="first"> |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue |
| nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit |
| tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies |
| tempor mi est eget ipsum egestas. |
| </div> |
| <script> |
| generateParserDelay(); |
| </script> |
| <a id="fold"> |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue |
| nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit |
| tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies |
| tempor mi est eget ipsum egestas. |
| </a> |
| <script> |
| const target = document.createElement("a"); |
| target.name = "target"; |
| document.body.append(target); |
| </script> |
| <script> |
| generateParserDelay(); |
| </script> |
| <div id="last"> |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum augue |
| nibh, venenatis a ligula in, tempus pharetra urna. Fusce semper, velit |
| tincidunt lobortis sollicitudin, sapien velit fermentum odio, ultricies |
| tempor mi est eget ipsum egestas. |
| </div> |
| </body> |