mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
Previously, we assumed a single call to `requestAnimationFrame()` would give enough time for the link to activate.
27 lines
923 B
HTML
27 lines
923 B
HTML
<!DOCTYPE html>
|
|
<script src="include.js"></script>
|
|
<iframe id="target-frame" name="target-frame"></iframe>
|
|
<svg>
|
|
<a id="basic-link" href="javascript:println('basic link activated'), window.resolveLinkActivated()">
|
|
<text y="20">Basic Link</text>
|
|
</a>
|
|
<a id="target-link" href="javascript:parent.println('target link activated in iframe'), parent.resolveLinkActivated()" target="target-frame">
|
|
<text y="40">Target Link</text>
|
|
</a>
|
|
</svg>
|
|
<script>
|
|
function waitForLinkActivation() {
|
|
return new Promise(resolve => window.resolveLinkActivated = resolve);
|
|
}
|
|
|
|
promiseTest(async () => {
|
|
let activated = waitForLinkActivation();
|
|
document.getElementById("basic-link").dispatchEvent(new MouseEvent("click"));
|
|
await activated;
|
|
|
|
activated = waitForLinkActivation();
|
|
document.getElementById("target-link").dispatchEvent(new MouseEvent("click"));
|
|
await activated;
|
|
});
|
|
</script>
|