blob: aa02c15efa975d63ed6f1e4c3e446ca7c5f99074 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<!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 => {
assert_implements("HTMLPortalElement" in self);
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 => {
assert_implements("HTMLPortalElement" in self);
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 => {
assert_implements("HTMLPortalElement" in self);
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>
|