Files
serenity/Tests/LibWeb/Text/input/iframe-removed-asyncronously.html
Shannon Booth d1c0fa3245 LibWeb: Do not spin the event loop on processing iframe attributes
Partially reverting a3149c1ce9

Spinning the event loop was causing a crash on:

https://wpt.live/url/percent-encoding.window.html

As it was turning what is meant to be a synchronous operation into an
asynchronous one.

The sequence demonstrated by the reproducing test is as follows:
  * A src attribute is changed for the iframe
  * process_the_iframe_attributes entered with valid content navigable
  * Event loop is spun, allowing the queued iframe removal to execute
  * process_the_iframe_attributes continues with null content navigable
  * 💥

(cherry picked from commit 30377e6e3500049c5442fac9d242d3b795861116)
2024-11-25 08:50:54 -05:00

21 lines
446 B
HTML

<body>
</body>
<script src="include.js"></script>
<script>
asyncTest(done => {
let frame = document.body.appendChild(document.createElement("iframe"));
setTimeout(() => {
frame.remove();
setTimeout(() => {
println("PASS! (Didn't crash)");
done();
}, 0);
}, 0);
frame.src = `../data/iframe-with-border-radius-svg.html`;
})
</script>