diff options
Diffstat (limited to 'testing/web-platform/tests/mixed-content/spec.src.json')
-rw-r--r-- | testing/web-platform/tests/mixed-content/spec.src.json | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mixed-content/spec.src.json b/testing/web-platform/tests/mixed-content/spec.src.json new file mode 100644 index 000000000..3f1540ab4 --- /dev/null +++ b/testing/web-platform/tests/mixed-content/spec.src.json @@ -0,0 +1,258 @@ +{ + "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" + ] + } +} |