mirror of
https://github.com/servo/servo.git
synced 2025-07-02 13:03:43 +01:00
34 lines
1.3 KiB
HTML
34 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<title>Tests that portal don't navigate to non-http schemes.</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body>
|
|
<script>
|
|
async_test(t => {
|
|
var portal = document.createElement("portal");
|
|
portal.src = "data:text/html,empty portal";
|
|
portal.onload = t.unreached_func("Portal loaded data URL.");
|
|
document.body.appendChild(portal);
|
|
t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
|
|
}, "Tests that a portal can't navigate to a data URL.");
|
|
|
|
async_test(t => {
|
|
var portal = document.createElement("portal");
|
|
portal.src = "about:blank";
|
|
portal.onload = t.unreached_func("Portal loaded about:blank.");
|
|
document.body.appendChild(portal);
|
|
t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
|
|
}, "Tests that a portal can't navigate to about:blank.");
|
|
|
|
async_test(t => {
|
|
var portal = document.createElement("portal");
|
|
portal.src = "resources/simple-portal.html";
|
|
portal.onload = t.step_func(() => {
|
|
portal.onmessage = t.unreached_func("Portal execute javascript.");
|
|
portal.src = "javascript:window.portalHost.postMessage('executed', '*')";
|
|
t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
|
|
});
|
|
document.body.appendChild(portal);
|
|
}, "Tests that a portal can't navigate to javascript URLs.");
|
|
</script>
|
|
</body>
|