Skip to content

Commit b67a219

Browse files
committed
Bug 1973193 - Split trusted-types-navigation.html into multiple subtests to avoid timeouts. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D254932
1 parent acb0cc2 commit b67a219

File tree

2 files changed

+68
-45
lines changed

2 files changed

+68
-45
lines changed
Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Bug 1915629: Implement Trusted Types support for the "pre-navigation check"
2-
[trusted-types-navigation.html]
2+
[trusted-types-navigation.html?26-30]
3+
[Navigate a window via form-submission with javascript:-urls w/ default policy in enforcing mode.]
4+
expected: FAIL
5+
6+
[Navigate a window via form-submission with javascript:-urls in report-only mode.]
7+
expected: FAIL
8+
9+
[Navigate a window via form-submission with javascript:-urls w/ default policy in report-only mode.]
10+
expected: FAIL
11+
12+
[Navigate a frame via form-submission with javascript:-urls in enforcing mode.]
13+
expected: FAIL
14+
15+
[Navigate a frame via form-submission with javascript:-urls w/ default policy in enforcing mode.]
16+
expected: FAIL
17+
18+
19+
[trusted-types-navigation.html?01-05]
320
[Navigate a window via anchor with javascript:-urls in enforcing mode.]
421
expected: FAIL
522

@@ -15,72 +32,76 @@
1532
[Navigate a frame via anchor with javascript:-urls in enforcing mode.]
1633
expected: FAIL
1734

18-
[Navigate a frame via anchor with javascript:-urls w/ default policy in enforcing mode.]
19-
expected: FAIL
2035

21-
[Navigate a frame via anchor with javascript:-urls in report-only mode.]
36+
[trusted-types-navigation.html?31-35]
37+
[Navigate a frame via form-submission with javascript:-urls in report-only mode.]
2238
expected: FAIL
2339

24-
[Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.]
40+
[Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.]
2541
expected: FAIL
2642

27-
[Navigate a window via form-submission with javascript:-urls in enforcing mode.]
43+
[Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
2844
expected: FAIL
2945

30-
[Navigate a window via form-submission with javascript:-urls w/ default policy in enforcing mode.]
46+
[Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
3147
expected: FAIL
3248

33-
[Navigate a window via form-submission with javascript:-urls in report-only mode.]
49+
[Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.]
3450
expected: FAIL
3551

36-
[Navigate a window via form-submission with javascript:-urls w/ default policy in report-only mode.]
37-
expected: FAIL
3852

39-
[Navigate a frame via form-submission with javascript:-urls in enforcing mode.]
53+
[trusted-types-navigation.html?21-25]
54+
[Navigate a window via area with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
4055
expected: FAIL
4156

42-
[Navigate a frame via form-submission with javascript:-urls w/ default policy in enforcing mode.]
57+
[Navigate a window via area with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
4358
expected: FAIL
4459

45-
[Navigate a frame via form-submission with javascript:-urls in report-only mode.]
60+
[Navigate a window via area with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.]
4661
expected: FAIL
4762

48-
[Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.]
63+
[Navigate a window via area with javascript:-urls w/ a default policy making the URL invalid in report-only mode.]
4964
expected: FAIL
5065

51-
[Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
66+
[Navigate a window via form-submission with javascript:-urls in enforcing mode.]
5267
expected: FAIL
5368

54-
[Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
55-
expected: FAIL
5669

70+
[trusted-types-navigation.html?11-15]
5771
[Navigate a window via anchor with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.]
5872
expected: FAIL
5973

6074
[Navigate a window via anchor with javascript:-urls w/ a default policy making the URL invalid in report-only mode.]
6175
expected: FAIL
6276

63-
[Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
77+
[Navigate a window via area with javascript:-urls in enforcing mode.]
6478
expected: FAIL
6579

66-
[Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
80+
[Navigate a window via area with javascript:-urls w/ default policy in enforcing mode.]
6781
expected: FAIL
6882

69-
[Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.]
83+
[Navigate a window via area with javascript:-urls in report-only mode.]
7084
expected: FAIL
7185

72-
[Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in report-only mode.]
86+
87+
[trusted-types-navigation.html?06-10]
88+
[Navigate a frame via anchor with javascript:-urls w/ default policy in enforcing mode.]
7389
expected: FAIL
7490

75-
[Navigate a window via area with javascript:-urls in enforcing mode.]
91+
[Navigate a frame via anchor with javascript:-urls in report-only mode.]
7692
expected: FAIL
7793

78-
[Navigate a window via area with javascript:-urls w/ default policy in enforcing mode.]
94+
[Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.]
7995
expected: FAIL
8096

81-
[Navigate a window via area with javascript:-urls in report-only mode.]
97+
[Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
8298
expected: FAIL
8399

100+
[Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
101+
expected: FAIL
102+
103+
104+
[trusted-types-navigation.html?16-20]
84105
[Navigate a window via area with javascript:-urls w/ default policy in report-only mode.]
85106
expected: FAIL
86107

@@ -96,14 +117,7 @@
96117
[Navigate a frame via area with javascript:-urls w/ default policy in report-only mode.]
97118
expected: FAIL
98119

99-
[Navigate a window via area with javascript:-urls w/ a default policy throwing an exception in enforcing mode.]
100-
expected: FAIL
101120

102-
[Navigate a window via area with javascript:-urls w/ a default policy throwing an exception in report-only mode.]
103-
expected: FAIL
104-
105-
[Navigate a window via area with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.]
106-
expected: FAIL
107-
108-
[Navigate a window via area with javascript:-urls w/ a default policy making the URL invalid in report-only mode.]
121+
[trusted-types-navigation.html?36-last]
122+
[Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in report-only mode.]
109123
expected: FAIL

testing/web-platform/tests/trusted-types/trusted-types-navigation.html

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
<!DOCTYPE html>
22
<head>
33
<meta name="timeout" content="long">
4+
<meta name="variant" content="?01-05">
5+
<meta name="variant" content="?06-10">
6+
<meta name="variant" content="?11-15">
7+
<meta name="variant" content="?16-20">
8+
<meta name="variant" content="?21-25">
9+
<meta name="variant" content="?26-30">
10+
<meta name="variant" content="?31-35">
11+
<meta name="variant" content="?36-last">
412
<script src="/resources/testharness.js"></script>
513
<script src="/resources/testharnessreport.js"></script>
614
<script src="support/navigation-support.js"></script>
15+
<script src="/common/subset-tests.js"></script>
716
</head>
817
<body>
918
<script>
@@ -101,23 +110,23 @@
101110
const kNavigationSupportReportOnly = "navigation-report-only-support.html";
102111

103112
for (const navigationElement of kNavigationElements) {
104-
promise_test(t => {
113+
subsetTest(promise_test, t => {
105114
const params = maybeAddNavigationElementToSearchParams(navigationElement, {});
106115
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupport)}`, [
107116
loadedMessage(params, kNavigationSupport),
108117
violationMessage("Location href"),
109118
]);
110119
}, `Navigate a window via ${navigationElement} with javascript:-urls in enforcing mode.`);
111120

112-
promise_test(t => {
121+
subsetTest(promise_test, t => {
113122
const params = maybeAddNavigationElementToSearchParams(navigationElement, {defaultpolicy: 'replace'});
114123
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupport)}`, [
115124
loadedMessage(params, kNavigationSupport),
116125
loadedMessage(Object.assign({navigationattempted: 1, defaultpolicywashere: 1}, params), kNavigationSupport),
117126
]);
118127
}, `Navigate a window via ${navigationElement} with javascript:-urls w/ default policy in enforcing mode.`);
119128

120-
promise_test(t => {
129+
subsetTest(promise_test, t => {
121130
const params = maybeAddNavigationElementToSearchParams(navigationElement, {});
122131
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupportReportOnly)}`, [
123132
loadedMessage(params, kNavigationSupportReportOnly),
@@ -126,23 +135,23 @@
126135
]);
127136
}, `Navigate a window via ${navigationElement} with javascript:-urls in report-only mode.`);
128137

129-
promise_test(t => {
138+
subsetTest(promise_test, t => {
130139
const params = maybeAddNavigationElementToSearchParams(navigationElement, {defaultpolicy: 'replace'});
131140
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupportReportOnly)}`, [
132141
loadedMessage(params, kNavigationSupportReportOnly),
133142
loadedMessage(Object.assign({navigationattempted: 1, defaultpolicywashere: 1}, params), kNavigationSupport),
134143
]);
135144
}, `Navigate a window via ${navigationElement} with javascript:-urls w/ default policy in report-only mode.`);
136145

137-
promise_test(t => {
146+
subsetTest(promise_test, t => {
138147
const params = maybeAddNavigationElementToSearchParams(navigationElement, {frame: 1});
139148
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupport)}`, [
140149
loadedMessage(params, kNavigationSupport),
141150
violationMessage("Location href"),
142151
]);
143152
}, `Navigate a frame via ${navigationElement} with javascript:-urls in enforcing mode.`);
144153

145-
promise_test(t => {
154+
subsetTest(promise_test, t => {
146155
const params = maybeAddNavigationElementToSearchParams(navigationElement,
147156
{defaultpolicy: 'replace', frame: 1});
148157
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupport)}`, [
@@ -151,7 +160,7 @@
151160
]);
152161
}, `Navigate a frame via ${navigationElement} with javascript:-urls w/ default policy in enforcing mode.`);
153162

154-
promise_test(t => {
163+
subsetTest(promise_test, t => {
155164
const params = maybeAddNavigationElementToSearchParams(navigationElement, {frame: 1})
156165
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupportReportOnly)}`, [
157166
loadedMessage(params, kNavigationSupportReportOnly),
@@ -160,7 +169,7 @@
160169
]);
161170
}, `Navigate a frame via ${navigationElement} with javascript:-urls in report-only mode.`);
162171

163-
promise_test(t => {
172+
subsetTest(promise_test, t => {
164173
const params = maybeAddNavigationElementToSearchParams(navigationElement,
165174
{defaultpolicy: 'replace', frame: 1});
166175
return openWindowAndWaitMessages(t, `support/${joinToHref(params, kNavigationSupportReportOnly)}`, [
@@ -169,7 +178,7 @@
169178
]);
170179
}, `Navigate a frame via ${navigationElement} with javascript:-urls w/ default policy in report-only mode.`);
171180

172-
promise_test(t => {
181+
subsetTest(promise_test, t => {
173182
// This test navigates to a 'javascript:location.href=...' URL with a CSP
174183
// policy in enforcing mode and a default policy throwing an exception.
175184
// "require-trusted-types-for Pre-Navigation check" returns "Blocked"
@@ -182,7 +191,7 @@
182191
]);
183192
}, `Navigate a window via ${navigationElement} with javascript:-urls w/ a default policy throwing an exception in enforcing mode.`);
184193

185-
promise_test(t => {
194+
subsetTest(promise_test, t => {
186195
// This test navigates to a 'javascript:location.href=...' URL with a CSP
187196
// policy in report-only mode and a default policy throwing an exception.
188197
// "require-trusted-types-for Pre-Navigation check" returns "Blocked"
@@ -197,7 +206,7 @@
197206
]);
198207
}, `Navigate a window via ${navigationElement} with javascript:-urls w/ a default policy throwing an exception in report-only mode.`);
199208

200-
promise_test(t => {
209+
subsetTest(promise_test, t => {
201210
// This test navigates to a 'javascript:location.href=...' URL with a CSP
202211
// policy in enforcing mode and a default policy making the URL invalid.
203212
// "require-trusted-types-for Pre-Navigation check" returns "Blocked"
@@ -210,7 +219,7 @@
210219
]);
211220
}, `Navigate a window via ${navigationElement} with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.`);
212221

213-
promise_test(t => {
222+
subsetTest(promise_test, t => {
214223
// This test navigates to a 'javascript:location.href=...' URL with a CSP
215224
// policy in report-only mode and a default policy making the URL invalid.
216225
// "require-trusted-types-for Pre-Navigation check" returns "Blocked"

0 commit comments

Comments
 (0)