summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mixed-content/spec.src.json
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/mixed-content/spec.src.json')
-rw-r--r--testing/web-platform/tests/mixed-content/spec.src.json258
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"
+ ]
+ }
+}