Update web-platform-tests to revision 72be34c4c6d45039320e271325cad0c99615d0c4

This commit is contained in:
WPT Sync Bot 2020-03-13 08:20:28 +00:00
parent 6ab923c8e8
commit 168aa56f18
503 changed files with 18722 additions and 435 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
[hit-test-floats-002.html]
[Hit test float]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -0,0 +1,4 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -2,3 +2,6 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
[elementsFromPoint on inner documents]
expected: FAIL

View file

@ -1,4 +0,0 @@
[elementsFromPoint-invalid-cases.html]
[The root element is the last element returned for otherwise empty queries within the viewport]
expected: FAIL

View file

@ -312,9 +312,6 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
@ -324,12 +321,12 @@
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
[Content-Type-Options%3A%20nosniff]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,20 +1,16 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -0,0 +1,4 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -56,3 +56,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44049 more errors.\n\tMax AbsError of 1.9985756278038025e+0 at index of 16692.\n\t[16692\]\t9.9997943639755249e-1\t-9.9859619140625000e-1\t1.9985756278038025e+0\t2.0013851895322721e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 35250 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 12875.\n\t[12875\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 7056.\n\t[7056\]\t5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -212,3 +212,9 @@
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t2.1915524950344434e-12\t5.6332010030746460e-1\t5.6332010030527302e-1\t9.9999999999610956e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5863097438886938e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31081.\n]
expected: FAIL
[X SNR (45.0183797715649 dB) is not greater than or equal to 85.58. Got 45.0183797715649.]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-3.6768964491784573e-5\t5.6332010030746460e-1\t5.6335686927195638e-1\t1.0000652718844432e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5721566293990131e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000652718844432e+0 at index of 31080.\n]
expected: FAIL

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[ar_hittest_subscription_inputSources.https.html]
expected: ERROR

View file

@ -1,8 +1,7 @@
[shared-worker-in-data-url-context.window.html]
expected: TIMEOUT
[Create a shared worker in a data url frame]
expected: TIMEOUT
expected: FAIL
[Create a data url shared worker in a data url frame]
expected: NOTRUN
expected: FAIL

View file

@ -1111,19 +1111,19 @@ function invokeRequest(subresource, sourceContextList) {
invoker: invokeFromWorker.bind(undefined, "worker", true, {type: 'module'}),
},
"sharedworker-classic": {
// Classic dedicated worker loaded from same-origin.
// Classic shared worker loaded from same-origin.
invoker: invokeFromWorker.bind(undefined, "sharedworker", false, {}),
},
"sharedworker-classic-data": {
// Classic dedicated worker loaded from data: URL.
// Classic shared worker loaded from data: URL.
invoker: invokeFromWorker.bind(undefined, "sharedworker", true, {}),
},
"sharedworker-module": {
// Module dedicated worker loaded from same-origin.
// Module shared worker loaded from same-origin.
invoker: invokeFromWorker.bind(undefined, "sharedworker", false, {type: 'module'}),
},
"sharedworker-module-data": {
// Module dedicated worker loaded from data: URL.
// Module shared worker loaded from data: URL.
invoker: invokeFromWorker.bind(undefined, "sharedworker", true, {type: 'module'}),
},
};
@ -1182,7 +1182,7 @@ function invokeFromWorker(workerType, isDataUrl, workerOptions,
if (workerType === "worker") {
const worker = new Worker(url, workerOptions);
worker.postMessage({subresource: subresource,
sourceContextList: sourceContextList.slice(1)});
sourceContextList: sourceContextList.slice(1)});
return bindEvents2(worker, "message", worker, "error", window, "error");
} else if (workerType === "sharedworker") {
const worker = new SharedWorker(url, workerOptions);

View file

@ -23,6 +23,10 @@ def main(request, response):
elif delivery['deliveryType'] == 'http-rp':
if delivery['key'] == 'referrerPolicy':
maybe_additional_headers['Referrer-Policy'] = delivery['value']
elif delivery['key'] == 'mixedContent' and delivery['value'] == 'opt-in':
maybe_additional_headers['Content-Security-Policy'] = 'block-all-mixed-content'
elif delivery['key'] == 'upgradeInsecureRequests' and delivery['value'] == 'upgrade':
maybe_additional_headers['Content-Security-Policy'] = 'upgrade-insecure-requests'
else:
error = 'invalid delivery key for http-rp: %s' % delivery['key']
else:

View file

@ -182,12 +182,6 @@
"source_context_list_schema": {
// Warning: Currently, some nested patterns of contexts have different
// inheritance rules for different kinds of policies.
// For example, an HTTP(S) dedicated worker inherits parent's CSP but not
// parent's referrer policy, and "worker-classic" source_context_list
// value here reflects the referrer policy spec, not CSP.
// Perhaps we have to introduce separate source_context_list entries,
// e.g. "worker-classic-CSP" to test the same nested contexts with
// different policy inheritance expectations.
// The generated tests will be used to test/investigate the policy
// inheritance rules, and eventually the policy inheritance rules will
// be unified (https://github.com/w3ctag/design-principles/issues/111).
@ -284,8 +278,8 @@
"subresourcePolicyDeliveries": []
},
"worker-classic": {
// Warning: This is incompatible with the current CSP spec,
// so is not applicable to upgrade-insecure-requests and mixed-content tests.
// This is applicable to referrer-policy tests.
// Use "worker-classic-inherit" for CSP (mixed-content, etc.).
"description": "dedicated workers shouldn't inherit its parent's policy.",
"sourceContextList": [
{
@ -303,6 +297,26 @@
],
"subresourcePolicyDeliveries": []
},
"worker-classic-inherit": {
// This is applicable to upgrade-insecure-requests and mixed-content tests.
// Use "worker-classic" for referrer-policy.
"description": "dedicated workers should inherit its parent's policy.",
"sourceContextList": [
{
"sourceContextType": "top",
"policyDeliveries": [
"policy"
]
},
{
"sourceContextType": "worker-classic",
"policyDeliveries": [
"anotherPolicy"
]
}
],
"subresourcePolicyDeliveries": []
},
"worker-classic-data": {
"description": "data: dedicated workers should inherit its parent's policy.",
"sourceContextList": [
@ -320,8 +334,8 @@
"subresourcePolicyDeliveries": []
},
"worker-module": {
// Warning: This is incompatible with the current CSP spec,
// so is not applicable to upgrade-insecure-requests and mixed-content tests.
// This is applicable to referrer-policy tests.
// Use "worker-module-inherit" for CSP (mixed-content, etc.).
"description": "dedicated workers shouldn't inherit its parent's policy.",
"sourceContextList": [
{
@ -339,6 +353,26 @@
],
"subresourcePolicyDeliveries": []
},
"worker-module-inherit": {
// This is applicable to upgrade-insecure-requests and mixed-content tests.
// Use "worker-module" for referrer-policy.
"description": "dedicated workers should inherit its parent's policy.",
"sourceContextList": [
{
"sourceContextType": "top",
"policyDeliveries": [
"policy"
]
},
{
"sourceContextType": "worker-module",
"policyDeliveries": [
"anotherPolicy"
]
}
],
"subresourcePolicyDeliveries": []
},
"worker-module-data": {
"description": "data: dedicated workers should inherit its parent's policy.",
"sourceContextList": [
@ -355,6 +389,24 @@
],
"subresourcePolicyDeliveries": []
},
"sharedworker-classic": {
"description": "shared workers shouldn't inherit its parent's policy.",
"sourceContextList": [
{
"sourceContextType": "top",
"policyDeliveries": [
"anotherPolicy"
]
},
{
"sourceContextType": "sharedworker-classic",
"policyDeliveries": [
"policy"
]
}
],
"subresourcePolicyDeliveries": []
},
"sharedworker-classic-data": {
"description": "data: shared workers should inherit its parent's policy.",
"sourceContextList": [
@ -371,6 +423,24 @@
],
"subresourcePolicyDeliveries": []
},
"sharedworker-module": {
"description": "shared workers shouldn't inherit its parent's policy.",
"sourceContextList": [
{
"sourceContextType": "top",
"policyDeliveries": [
"anotherPolicy"
]
},
{
"sourceContextType": "sharedworker-module",
"policyDeliveries": [
"policy"
]
}
],
"subresourcePolicyDeliveries": []
},
"sharedworker-module-data": {
"description": "data: shared workers should inherit its parent's policy.",
"sourceContextList": [
@ -405,10 +475,14 @@
"iframe",
"iframe-blank-inherit",
"worker-classic",
"worker-classic-inherit",
"worker-classic-data",
"worker-module",
"worker-module-inherit",
"worker-module-data",
"sharedworker-classic",
"sharedworker-classic-data",
"sharedworker-module",
"sharedworker-module-data"
],
"redirection": [

View file

@ -121,7 +121,7 @@ class PolicyDelivery(object):
elif obj == "anotherPolicy":
policy_delivery = target_policy_delivery.get_another_policy(
supported_delivery_types[0])
elif type(obj) == dict:
elif isinstance(obj, dict):
policy_delivery = PolicyDelivery(obj['deliveryType'], obj['key'],
obj['value'])
else:
@ -148,6 +148,16 @@ class PolicyDelivery(object):
return PolicyDelivery(delivery_type, self.key, 'unsafe-url')
else:
return PolicyDelivery(delivery_type, self.key, 'no-referrer')
elif self.key == 'mixedContent':
if self.value == 'opt-in':
return PolicyDelivery(delivery_type, self.key, None)
else:
return PolicyDelivery(delivery_type, self.key, 'opt-in')
elif self.key == 'upgradeInsecureRequests':
if self.value == 'upgrade':
return PolicyDelivery(delivery_type, self.key, None)
else:
return PolicyDelivery(delivery_type, self.key, 'upgrade')
else:
raise Exception('delivery key is invalid: ' + self.key)

View file

@ -11,14 +11,12 @@
window.onload = function() {
async_test(function(t) {
var iframes = document.getElementsByTagName("iframe");
trusted_request(t, iframes[0].contentDocument.body, document.body);
trusted_request(t, iframes[0].contentDocument.body, iframes[0].contentDocument.body);
iframes[0].contentDocument.onfullscreenchange = t.step_func(function() {
assert_equals(document.fullscreenElement, iframes[0]);
trusted_request(t, iframes[1].contentDocument.body, iframes[0].contentDocument.body);
iframes[1].contentDocument.onfullscreenchange = t.step_func_done(function() {
assert_equals(document.fullscreenElement, iframes[1]);
});
iframes[1].contentDocument.onfullscreenerror = t.unreached_func("fullscreenchange error");
iframes[1].contentDocument.onfullscreenerror = t.unreached_func("fullscreenerror event");
iframes[1].contentDocument.onfullscreenchange = t.step_func_done();
});
});
};

View file

@ -1,29 +0,0 @@
<!DOCTYPE html>
<!--
Tentative, due to:
https://github.com/whatwg/html/issues/1903
Once the issue is resolved, this test would replace the corresponding
non-tentative test (element-ready-check-containing-iframe-manual.html)
-->
<title>Element ready check for containing iframe</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div id="log"></div>
<iframe allowfullscreen></iframe>
<iframe allowfullscreen></iframe>
<script>
// wait for load event to avoid https://bugzil.la/1493878
window.onload = function() {
async_test(function(t) {
var iframes = document.getElementsByTagName("iframe");
trusted_request(t, iframes[0].contentDocument.body, iframes[0].contentDocument.body);
iframes[0].contentDocument.onfullscreenchange = t.step_func(function() {
assert_equals(document.fullscreenElement, iframes[0]);
trusted_request(t, iframes[1].contentDocument.body, iframes[0].contentDocument.body);
iframes[1].contentDocument.onfullscreenerror = t.unreached_func("fullscreenerror event");
iframes[1].contentDocument.onfullscreenchange = t.step_func_done();
});
});
};
</script>

View file

@ -54,7 +54,6 @@ function run_fp_tests_disabled(sensorName) {
}
function run_fp_tests_enabled(sensorName) {
const sensorType = self[sensorName];
const featureNameList = feature_policies[sensorName];
const header = "Feature-Policy header " + featureNameList.join(" *;") + " *";
const desc = "'new " + sensorName + "()'";
@ -85,7 +84,6 @@ function run_fp_tests_enabled(sensorName) {
}
function run_fp_tests_enabled_by_attribute(sensorName) {
const sensorType = self[sensorName];
const featureNameList = feature_policies[sensorName];
const header = "Feature-Policy allow='" + featureNameList.join(" ") + "' attribute";
const desc = "'new " + sensorName + "()'";
@ -114,7 +112,6 @@ function run_fp_tests_enabled_by_attribute(sensorName) {
}
function run_fp_tests_enabled_by_attribute_redirect_on_load(sensorName) {
const sensorType = self[sensorName];
const featureNameList = feature_policies[sensorName];
const header = "Feature-Policy allow='" + featureNameList.join(" ") + "' attribute";
const desc = "'new " + sensorName + "()'";
@ -143,7 +140,6 @@ function run_fp_tests_enabled_by_attribute_redirect_on_load(sensorName) {
}
function run_fp_tests_enabled_on_self_origin(sensorName) {
const sensorType = self[sensorName];
const featureNameList = feature_policies[sensorName];
const header = "Feature-Policy header " + featureNameList.join(" 'self';") + " 'self'";
const desc = "'new " + sensorName + "()'";

View file

@ -96,11 +96,11 @@ function wait(ms) {
async function fetchReport() {
const fetch_report_path = resource_path + `/report.py?key=${report_token}`;
for(let i = 0; i<10; ++i) {
for(let i = 0; i<20; ++i) {
const response = await fetch(encode(fetch_report_path));
const reports = await response.json();
if (reports.length == 0) {
wait(100);
wait(200);
continue;
}
if (reports.length != 1)

View file

@ -318,6 +318,103 @@ async_test(async (t) => {
}
}, 'COEP violation on nested frame navigation');
async_test(async (t) => {
try {
const iframe = document.createElement('iframe');
t.add_cleanup(() => iframe.remove());
iframe.src = `resources/reporting-empty-frame.html`
document.body.appendChild(iframe);
await new Promise(resolve => {
iframe.addEventListener('load', resolve, {once: true});
});
const worker_url = new URL('resources/fetch-in-dedicated-worker.js', location);
const worker = new iframe.contentWindow.Worker(worker_url);
function fetchInWorker(url) {
const init = { mode: 'no-cors', cache: 'no-store' };
worker.postMessage({url, init});
return new Promise((resolve) => {
worker.addEventListener('message', resolve);
});
}
const suffix = 'subresource-corp-from-dedicated-worker';
const sameOriginUrl = `/common/text-plain.txt?${suffix}`;
const blockedByPureCorp = `${REMOTE_ORIGIN}${BASE}/nothing-same-origin-corp.txt?${suffix}`;
const blockedDueToCoep = `${REMOTE_ORIGIN}/common/text-plain.txt?abc&${suffix}`;
const dest = `${REMOTE_ORIGIN}/common/text-plain.txt?xyz&${suffix}`;
const redirect = `/common/redirect.py?location=${encodeURIComponent(dest)}&${suffix}`;
fetchInWorker(sameOriginUrl);
fetchInWorker(blockedByPureCorp);
fetchInWorker(blockedDueToCoep);
fetchInWorker(redirect);
// Wait 1 seconds for reports to settle.
await wait(1000);
checkReportNonExistence(reports, sameOriginUrl, worker_url.href);
checkReportNonExistence(reports, blockedByPureCorp, worker_url.href);
checkCorpReportExistence(reports, blockedDueToCoep, worker_url.href);
checkCorpReportExistence(reports, redirect, worker_url.href);
checkReportNonExistence(reports, dest, worker_url.href);
t.done();
} catch (e) {
t.step(() => { throw e });
}
}, 'subresource requests initiated from DedicatedWorker');
promise_test(async (t) => {
const suffix = 'subresource-corp-from-dedicated-worker-via-passthrough-sw';
const iframe_src = `resources/reporting-empty-frame.html?passthrough&${suffix}`;
// Register a service worker that controls an iframe.
const registration = await service_worker_unregister_and_register(
t, 'resources/sw.js', iframe_src);
t.add_cleanup(() => registration.unregister());
await wait_for_state(t, registration.installing, 'activated');
const iframe = document.createElement('iframe');
t.add_cleanup(() => iframe.remove());
iframe.src = iframe_src;
document.body.appendChild(iframe);
await new Promise(resolve => {
iframe.addEventListener('load', resolve, {once: true});
});
const worker_url = new URL('resources/fetch-in-dedicated-worker.js', location);
const worker = new iframe.contentWindow.Worker(worker_url);
function fetchInWorker(url) {
const init = { mode: 'no-cors', cache: 'no-store' };
worker.postMessage({url, init});
return new Promise((resolve) => {
worker.addEventListener('message', resolve);
});
}
const sameOriginUrl = `/common/text-plain.txt?${suffix}`;
const blockedByPureCorp = `${REMOTE_ORIGIN}${BASE}/nothing-same-origin-corp.txt?${suffix}`;
const blockedDueToCoep = `${REMOTE_ORIGIN}/common/text-plain.txt?abc&${suffix}`;
const dest = `${REMOTE_ORIGIN}/common/text-plain.txt?xyz&${suffix}`;
const redirect = `/common/redirect.py?location=${encodeURIComponent(dest)}&${suffix}`;
fetchInWorker(sameOriginUrl);
fetchInWorker(blockedByPureCorp);
fetchInWorker(blockedDueToCoep);
fetchInWorker(redirect);
// Wait 1 seconds for reports to settle.
await wait(1000);
checkReportNonExistence(reports, sameOriginUrl, worker_url.href);
checkReportNonExistence(reports, blockedByPureCorp, worker_url.href);
checkCorpReportExistence(reports, blockedDueToCoep, worker_url.href);
checkCorpReportExistence(reports, redirect, worker_url.href);
checkReportNonExistence(reports, dest, worker_url.href);
}, 'subresource requests initiated from DedicatedWorker controlled by a passthrough service worker');
promise_test(async (t) => {
const iframe_src = `resources/reporting-empty-frame.html?passthrough`;
// Register a service worker that controls an iframe.

View file

@ -0,0 +1,6 @@
self.addEventListener('message', async (e) => {
const param = e.data;
// Ignore network error.
await fetch(param.url, param.init).catch(() => {});
self.postMessage(param.url);
});

View file

@ -4,11 +4,18 @@
'use strict';
promise_test(async testCase => {
const frame = document.createElement("iframe");
const child = getUrl(CROSS_ORIGIN, "resources/child.sub.html");
const grandchild = getUrl(CROSS_ORIGIN, "resources/grandchild.sub.html");
const grandchildLoaded = new Promise(resolve => {
window.onmessage = function(message) {
if (message.data === 'grandchild-loaded') {
resolve(message);
}
}
});
const frame = document.createElement('iframe');
const child = getUrl(CROSS_ORIGIN, 'resources/child.sub.html');
frame.src = child;
document.body.append(frame);
await grandchildLoaded;
try {
let result = await performance.measureMemory();
checkMeasureMemory(result, {

View file

@ -0,0 +1,30 @@
// META: script=/common/get-host-info.sub.js
// META: script=./resources/common.js
// META: timeout=long
'use strict';
promise_test(async testCase => {
const grandchildLoaded = new Promise(resolve => {
window.onmessage = function(message) {
if (message.data === 'grandchild-loaded') {
resolve(message);
}
}
});
const frame = document.createElement('iframe');
const redirecting_child = getUrl(CROSS_ORIGIN, 'resources/redirecting-child.sub.html');
frame.src = redirecting_child;
document.body.append(frame);
await grandchildLoaded;
try {
let result = await performance.measureMemory();
checkMeasureMemory(result, {
allowed: [window.location.href, redirecting_child]
});
} catch (error) {
if (!(error instanceof DOMException)) {
throw error;
}
assert_equals(error.name, 'SecurityError');
}
}, 'Well-formed result of performance.measureMemory with cross-origin iframe.');

View file

@ -4,11 +4,19 @@
'use strict';
promise_test(async testCase => {
const frame = document.createElement("iframe");
const child = getUrl(SAME_ORIGIN, "resources/child.sub.html");
const grandchild = getUrl(SAME_ORIGIN, "resources/grandchild.sub.html");
const grandchildLoaded = new Promise(resolve => {
window.onmessage = function(message) {
if (message.data === 'grandchild-loaded') {
resolve(message);
}
}
});
const frame = document.createElement('iframe');
const child = getUrl(SAME_ORIGIN, 'resources/child.sub.html');
const grandchild = getUrl(SAME_ORIGIN, 'resources/grandchild.sub.html');
frame.src = child;
document.body.append(frame);
await grandchildLoaded;
try {
let result = await performance.measureMemory();
checkMeasureMemory(result, {

View file

@ -1,6 +1,15 @@
<!doctype html>
<meta charset=utf-8>
<html>
<script>
window.onmessage = function (message) {
// Forward the message to the parent.
window.parent.postMessage(message.data, '*');
}
window.onload = function () {
window.parent.postMessage('grandchild-loaded', '*');
}
</script>
<body>
Hello from child iframe.
<iframe src="grandchild.sub.html"></iframe>

View file

@ -1,5 +1,5 @@
const SAME_ORIGIN = {origin: get_host_info().HTTPS_ORIGIN, name: "SAME_ORIGIN"};
const CROSS_ORIGIN = {origin: get_host_info().HTTPS_NOTSAMESITE_ORIGIN, name: "CROSS_ORIGIN"}
const SAME_ORIGIN = {origin: get_host_info().HTTP_ORIGIN, name: "SAME_ORIGIN"};
const CROSS_ORIGIN = {origin: get_host_info().HTTP_REMOTE_ORIGIN, name: "CROSS_ORIGIN"}
function checkMeasureMemoryBreakdown(breakdown, options) {
let allowed = new Set(options.allowed);
@ -31,5 +31,5 @@ function checkMeasureMemory(result, options) {
function getUrl(host, relativePath) {
const path = new URL(relativePath, window.location).pathname;
return `${host.origin}/${path}`;
return `${host.origin}${path}`;
}

View file

@ -1,6 +1,11 @@
<!doctype html>
<meta charset=utf-8>
<html>
<script>
window.onload = function () {
window.parent.postMessage('grandchild-loaded', '*');
}
</script>
<body>
Hello from grandchild iframe.
</body>

View file

@ -0,0 +1,12 @@
<!doctype html>
<meta charset=utf-8>
<html>
<script>
window.onload = function () {
document.location.href = document.location.href.replace('redirecting-child', 'child');
}
</script>
<body>
Hello from child iframe.
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-ws",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-ws",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-wss",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-classic"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for websocket to cross-ws origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-ws",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for websocket to same-ws origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-ws",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for websocket to same-wss origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-wss",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to cross-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for xhr to same-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [
{
"deliveryType": "http-rp",
"key": "mixedContent",
"value": "opt-in"
}
],
"sourceContextType": "sharedworker-module"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to cross-https origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and no-redirect redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Blockable content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of blockable content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/#category-blockable">
<meta name="assert" content="Mixed-Content: Expects blocked for fetch to same-http origin and swap-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "blocked",
"origin": "same-http",
"redirection": "swap-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: block-all-mixed-content

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
<head>
<title>Mixed-Content: Allowed content</title>
<meta charset='utf-8'>
<meta name="description" content="Test behavior of allowed content.">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
<meta name="assert" content="Mixed-Content: Expects allowed for fetch to same-https origin and keep-scheme redirection from https context.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "keep-scheme",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-classic"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": []
},
document.querySelector("meta[name=assert]").content,
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more