mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-26 09:59:43 +00:00
This change fixes a bug that can be reproduced with the following steps:
```js
const iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.contentWindow.location.href = ("http://localhost:8080/demo.html");
```
These steps are executed in the following order:
1. Create iframe and schedule session history traversal task that adds
session history entry for the iframe.
2. Generate navigation id for scheduled navigation to
`http://localhost:8080/demo.html`.
3. Execute the scheduled session history traversal task, which adds
session history entry for the iframe.
4. Ooops, navigation to `http://localhost:8080/demo.html` is aborted
because addings SHE for the iframe resets the navigation id.
This change fixes this by delaying all navigations until SHE for a
navigable is created.
17 lines
No EOL
485 B
HTML
17 lines
No EOL
485 B
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<script src="../include.js"></script>
|
|
<body>
|
|
<script>
|
|
asyncTest(done => {
|
|
const iframe = document.createElement("iframe");
|
|
document.body.appendChild(iframe);
|
|
window.addEventListener("message", (e) => {
|
|
println(e.data);
|
|
done();
|
|
});
|
|
iframe.contentWindow.location.href = "../../data/test-iframe-content.html";
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |