blob: 3f1540ab4083b2ff9bb25bf6e364e312a1c7b9f6 [file] [log] [blame]
{
"specification": [
{
"name": "optionally-blockable",
"title": "Optionally-blockable content",
"description": "Test behavior of optionally-blockable content",
"specification_url": "http://www.w3.org/TR/mixed-content/#category-optionally-blockable",
"test_expansion": [
{
"name": "opt-in-blocks",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": ["http-csp", "meta-csp"],
"context_nesting": "top-level",
"redirection": "*",
"subresource": {
"blockable": [],
"optionally-blockable": "*"
},
"origin": ["cross-origin-http", "same-host-http"],
"expectation": "blocked"
},
{
"name": "no-opt-in-allows",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": "no-opt-in",
"context_nesting": "top-level",
"redirection": "*",
"subresource": {
"blockable": [],
"optionally-blockable": "*"
},
"origin": ["cross-origin-http", "same-host-http"],
"expectation": "allowed"
}
]
},
{
"name": "blockable",
"title": "Blockable content",
"description": "Test behavior of blockable content.",
"specification_url": "http://www.w3.org/TR/mixed-content/#category-blockable",
"test_expansion": [
{
"name": "opt-in-blocks",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": ["http-csp", "meta-csp"],
"context_nesting": "top-level",
"redirection": "*",
"subresource": {
"blockable": "*",
"optionally-blockable": []
},
"origin": ["cross-origin-http", "same-host-http"],
"expectation": "blocked"
},
{
"name": "no-opt-in-blocks",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": "no-opt-in",
"context_nesting": "top-level",
"redirection": "*",
"subresource": {
"blockable": "*",
"optionally-blockable": []
},
"origin": ["cross-origin-http", "same-host-http"],
"expectation": "blocked"
},
{
"name": "ws-downgrade-blocks",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": ["no-opt-in", "http-csp", "meta-csp"],
"context_nesting": "top-level",
"redirection": "*",
"subresource": {
"blockable": "websocket-request",
"optionally-blockable": []
},
"origin": ["cross-origin-ws", "same-host-ws"],
"expectation": "blocked"
}
]
},
{
"name": "allowed",
"title": "Allowed content",
"description": "Test behavior of allowed content.",
"specification_url": "http://www.w3.org/TR/mixed-content/",
"test_expansion": [
{
"name": "allowed",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": "*",
"context_nesting": "top-level",
"redirection": ["no-redirect", "keep-scheme-redirect"],
"subresource": {
"blockable": "*",
"optionally-blockable": "*"
},
"origin": ["same-host-https"],
"expectation": "allowed"
},
{
"name": "websocket-allowed",
"expansion": "default",
"source_scheme": "https",
"opt_in_method": "*",
"context_nesting": "top-level",
"redirection": ["no-redirect", "keep-scheme-redirect"],
"subresource": {
"blockable": "websocket-request",
"optionally-blockable": []
},
"origin": ["same-host-wss"],
"expectation": "allowed"
}
]
}
],
"excluded_tests": [
{
"name": "Redundant-subresources",
"expansion": "*",
"source_scheme": "*",
"opt_in_method": "*",
"context_nesting": "*",
"redirection": "*",
"subresource": {
"blockable": [
"a-tag"
],
"optionally-blockable": []
},
"origin": "*",
"expectation": "*"
},
{
"name": "Skip-origins-not-applicable-to-websockets",
"expansion": "*",
"source_scheme": "*",
"opt_in_method": "*",
"context_nesting": "*",
"redirection": "*",
"subresource": {
"blockable": [
"websocket-request"
],
"optionally-blockable": []
},
"origin": [
"same-host-https",
"same-host-http",
"cross-origin-https",
"cross-origin-http"
],
"expectation": "*"
},
{
"name": "TODO-opt-in-method-img-cross-origin",
"expansion": "*",
"source_scheme": "*",
"opt_in_method": "img-crossorigin",
"context_nesting": "*",
"redirection": "*",
"subresource": {
"blockable": "*",
"optionally-blockable": "*"
},
"origin": "*",
"expectation": "*"
},
{
"name": "Skip-redundant-for-opt-in-method",
"expansion": "*",
"source_scheme": "*",
"opt_in_method": [
"meta-csp",
"img-crossorigin"
],
"context_nesting": "*",
"redirection": ["keep-scheme-redirect", "swap-scheme-redirect"],
"subresource": {
"blockable": "*",
"optionally-blockable": "*"
},
"origin": "*",
"expectation": "*"
}
],
"test_expansion_schema": {
"expansion": [
"default",
"override"
],
"source_scheme": [
"http",
"https"
],
"opt_in_method": [
"no-opt-in",
"http-csp",
"meta-csp",
"img-crossorigin"
],
"redirection": [
"no-redirect",
"keep-scheme-redirect",
"swap-scheme-redirect"
],
"context_nesting": [
"top-level",
"sub-level"
],
"origin": [
"same-host-https",
"same-host-http",
"cross-origin-https",
"cross-origin-http",
"same-host-wss",
"same-host-ws",
"cross-origin-wss",
"cross-origin-ws"
],
"subresource": {
"blockable": [
"iframe-tag",
"script-tag",
"link-css-tag",
"form-tag",
"xhr-request",
"worker-request",
"fetch-request",
"a-tag",
"object-tag",
"picture-tag",
"websocket-request"
],
"optionally-blockable": [
"img-tag",
"audio-tag",
"video-tag",
"link-prefetch-tag"
]
},
"expectation": [
"allowed",
"blocked"
]
}
}