Skip to content

Commit 906be43

Browse files
Merge branch 'web-platform-tests:master' into gpc
2 parents 3731e66 + c9b9512 commit 906be43

9 files changed

+100
-2
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!DOCTYPE html>
2+
<script src="/resources/testharness.js"></script>
3+
<script src="/resources/testharnessreport.js"></script>
4+
<div id="log"></div>
5+
<script>
6+
// WebKit test runner assumes the tests always run in the same order, so make
7+
// sure fetch_tests_from_worker tests run sequentially.
8+
setup({explicit_done: true});
9+
(async function() {
10+
await fetch_tests_from_worker(new Worker("support/script-src-trusted_types_eval_with_require_trusted_types_eval_DedicatedWorker.js"));
11+
await fetch_tests_from_worker(new Worker("support/script-src-trusted_types_eval_without_require_trusted_types_eval_DedicatedWorker.js"));
12+
await fetch_tests_from_worker(new Worker("support/script-src-trusted_types_eval_with_report_only_require_trusted_types_eval_DedicatedWorker.js"));
13+
done();
14+
})();
15+
</script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const testSetupPolicy = trustedTypes.createPolicy("p", { createScriptURL: s => s });
2+
importScripts(testSetupPolicy.createScriptURL("/resources/testharness.js"));
3+
4+
trustedTypes.createPolicy('default', {createScript: s => s});
5+
6+
var evalScriptRan = false;
7+
8+
async_test(function(t) {
9+
var eventHandler = t.step_func_done(function(e) {
10+
assert_false(evalScriptRan);
11+
assert_equals(e.effectiveDirective, 'script-src');
12+
assert_equals(e.blockedURI, 'eval');
13+
});
14+
self.addEventListener('securitypolicyviolation', eventHandler);
15+
t.add_cleanup(() => {
16+
self.removeEventListener('securitypolicyviolation', eventHandler);
17+
});
18+
assert_throws_js(Error,
19+
function() {
20+
try {
21+
eval("evalScriptRan = true;");
22+
} catch (e) {
23+
throw new Error();
24+
}
25+
});
26+
}, "Scripts injected via direct `eval` are not allowed with `trusted-types-eval` when `require-trusted-types-for 'script'` is report only (Dedicated Worker).");
27+
28+
done();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Content-Security-Policy: script-src 'self' 'trusted-types-eval';
2+
Content-Security-Policy-Report-Only: require-trusted-types-for 'script';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const testSetupPolicy = trustedTypes.createPolicy("p", { createScriptURL: s => s });
2+
importScripts(testSetupPolicy.createScriptURL("/resources/testharness.js"));
3+
4+
trustedTypes.createPolicy('default', {createScript: s => s});
5+
6+
var evalScriptRan = false;
7+
8+
async_test(function(t) {
9+
var eventHandler = t.unreached_func('No CSP violation report has fired.');
10+
self.addEventListener('securitypolicyviolation', eventHandler);
11+
t.add_cleanup(() => {
12+
self.removeEventListener('securitypolicyviolation', eventHandler);
13+
});
14+
try {
15+
eval("evalScriptRan = true;");
16+
} catch (e) {
17+
assert_unreached("`eval` should be allowed with `trusted-types-eval` and `require-trusted-types-for 'script'`.");
18+
}
19+
assert_true(evalScriptRan);
20+
t.done();
21+
}, "Script injected via direct `eval` is allowed with `trusted-types-eval` and `require-trusted-types-for 'script'` (Dedicated Worker).");
22+
23+
done();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Content-Security-Policy: script-src 'self' 'trusted-types-eval'; require-trusted-types-for 'script';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const testSetupPolicy = trustedTypes.createPolicy("p", { createScriptURL: s => s });
2+
importScripts(testSetupPolicy.createScriptURL("/resources/testharness.js"));
3+
4+
trustedTypes.createPolicy('default', {createScript: s => s});
5+
6+
var evalScriptRan = false;
7+
8+
async_test(function(t) {
9+
var eventHandler = t.step_func_done(function(e) {
10+
assert_false(evalScriptRan);
11+
assert_equals(e.effectiveDirective, 'script-src');
12+
assert_equals(e.blockedURI, 'eval');
13+
});
14+
self.addEventListener('securitypolicyviolation', eventHandler);
15+
t.add_cleanup(() => {
16+
self.removeEventListener('securitypolicyviolation', eventHandler);
17+
});
18+
assert_throws_js(Error,
19+
function() {
20+
try {
21+
eval("evalScriptRan = true;");
22+
} catch (e) {
23+
throw new Error();
24+
}
25+
});
26+
}, "Scripts injected via direct `eval` are not allowed with `trusted-types-eval` without `require-trusted-types-for 'script'` (DedicatedWorker).");
27+
28+
done();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Content-Security-Policy: script-src 'self' 'trusted-types-eval';

html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-default-object-height-constrained-by-max-width.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</head>
1717
<!-- aspect-ratio should be set to: auto 100 / 100-->
1818
<body>
19-
<p>Test passes if there is a filled green square.</p>
19+
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
2020
<video width="100" height="100" src="/css/support/60x60-green.png">
2121
</body>
2222
</html>

html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-default-object-width-constrained-by-max-height.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</head>
1717
<!-- aspect-ratio should be set to: auto 100 / 100-->
1818
<body>
19-
<p>Test passes if there is a filled green square.</p>
19+
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
2020
<video width="100" height="100" src="/css/support/60x60-green.png">
2121
</body>
2222
</html>

0 commit comments

Comments
 (0)