Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 795e500

Browse files
domenicmoz-wptsync-bot
authored andcommitted
Bug 1651493 [wpt PR 24518] - Add a test for network errors with <embed>, a=testonly
Automatic update from web-platform-tests Add a test for network errors with <embed> and <iframe> Follows whatwg/html#4247 for <embed> and existing spec text for <iframe>. -- wpt-commits: 91b0d35770bcb521c540d08002d8d3700666180c wpt-pr: 24518
1 parent 4a25c48 commit 795e500

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>I should not be embeddable because of X-Frame-Options</title>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
X-Frame-Options: deny
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>Network errors with embed elements</title>
4+
<script src="/resources/testharness.js"></script>
5+
<script src="/resources/testharnessreport.js"></script>
6+
7+
<body>
8+
<script>
9+
"use strict";
10+
11+
async_test(t => {
12+
const embed = document.createElement("embed");
13+
embed.src = "//{{hosts[][nonexistent]}}/";
14+
embed.onload = () => t.done();
15+
embed.onerror = t.unreached_func("error event must not fire");
16+
document.body.append(embed);
17+
}, "new embed: nonexistent host");
18+
19+
async_test(t => {
20+
const embed = document.createElement("embed");
21+
embed.src = "../resources/not-embeddable.html";
22+
embed.onload = () => t.done();
23+
embed.onerror = t.unreached_func("error event must not fire");
24+
document.body.append(embed);
25+
}, "new embed: X-Frame-Options prevents embedding");
26+
27+
async_test(t => {
28+
const embed = document.createElement("embed");
29+
embed.src = "/common/blank.html";
30+
embed.name = "existingEmbed1";
31+
embed.onload = t.step_func(() => {
32+
embed.onload = () => t.done();
33+
embed.onerror = t.unreached_func("error event must not fire 2");
34+
35+
frames.existingEmbed1.location.href = "//{{hosts[][nonexistent]}}/";
36+
});
37+
embed.onerror = t.unreached_func("error event must not fire 1");
38+
document.body.append(embed);
39+
}, "navigating an existing embed: nonexistent host");
40+
41+
async_test(t => {
42+
const embed = document.createElement("embed");
43+
embed.src = "/common/blank.html";
44+
embed.name = "existingEmbed2";
45+
embed.onload = t.step_func(() => {
46+
embed.onload = () => t.done();
47+
embed.onerror = t.unreached_func("error event must not fire 2");
48+
49+
frames.existingEmbed2.location.href = "../resources/not-embeddable.html";
50+
});
51+
embed.onerror = t.unreached_func("error event must not fire 1");
52+
document.body.append(embed);
53+
}, "navigating an existing embed: X-Frame-Options prevents embedding");
54+
</script>
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>Network errors with iframe elements</title>
4+
<script src="/resources/testharness.js"></script>
5+
<script src="/resources/testharnessreport.js"></script>
6+
7+
<body>
8+
<script>
9+
"use strict";
10+
11+
async_test(t => {
12+
const iframe = document.createElement("iframe");
13+
iframe.src = "//{{hosts[][nonexistent]}}/";
14+
iframe.onload = () => t.done();
15+
iframe.onerror = t.unreached_func("error event must not fire");
16+
document.body.append(iframe);
17+
}, "new iframe: nonexistent host");
18+
19+
async_test(t => {
20+
const iframe = document.createElement("iframe");
21+
iframe.src = "../resources/not-embeddable.html";
22+
iframe.onload = () => t.done();
23+
iframe.onerror = t.unreached_func("error event must not fire");
24+
document.body.append(iframe);
25+
}, "new iframe: X-Frame-Options prevents embedding");
26+
27+
async_test(t => {
28+
const iframe = document.createElement("iframe");
29+
iframe.src = "/common/blank.html";
30+
iframe.name = "existingIframe1";
31+
iframe.onload = t.step_func(() => {
32+
iframe.onload = () => t.done();
33+
iframe.onerror = t.unreached_func("error event must not fire 2");
34+
35+
frames.existingIframe1.location.href = "//{{hosts[][nonexistent]}}/";
36+
});
37+
iframe.onerror = t.unreached_func("error event must not fire 1");
38+
document.body.append(iframe);
39+
}, "navigating an existing iframe: nonexistent host");
40+
41+
async_test(t => {
42+
const iframe = document.createElement("iframe");
43+
iframe.src = "/common/blank.html";
44+
iframe.name = "existingIframe2";
45+
iframe.onload = t.step_func(() => {
46+
iframe.onload = () => t.done();
47+
iframe.onerror = t.unreached_func("error event must not fire 2");
48+
49+
frames.existingIframe2.location.href = "../resources/not-embeddable.html";
50+
});
51+
iframe.onerror = t.unreached_func("error event must not fire 1");
52+
document.body.append(iframe);
53+
}, "navigating an existing iframe: X-Frame-Options prevents embedding");
54+
</script>

0 commit comments

Comments
 (0)