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.json437
1 files changed, 437 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 0000000000..1eb6f44540
--- /dev/null
+++ b/testing/web-platform/tests/mixed-content/spec.src.json
@@ -0,0 +1,437 @@
+{
+ "test_description_template": "Mixed-Content: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.",
+ "test_page_title_template": "Mixed-Content: %(title)s",
+ "specification": [
+ {
+ // 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": [
+ {
+ // opt-in-blocks
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "opt-in",
+ "redirection": "*",
+ "subresource": [
+ "audio-tag",
+ "img-tag",
+ "video-tag"
+ ],
+ "origin": [
+ "cross-http",
+ "same-http"
+ ],
+ "expectation": "blocked"
+ },
+ {
+ // opt-in-blocks-redirects
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "opt-in",
+ "redirection": "swap-scheme",
+ "subresource": [
+ "audio-tag",
+ "img-tag",
+ "video-tag"
+ ],
+ "origin": [
+ "same-https",
+ "cross-https"
+ ],
+ "expectation": "blocked"
+ },
+ {
+ // no-opt-in-allows
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": null,
+ "redirection": "*",
+ "subresource": [
+ "audio-tag",
+ "img-tag",
+ "video-tag"
+ ],
+ "origin": [
+ "cross-http",
+ "same-http"
+ ],
+ "expectation": "allowed"
+ }
+ ]
+ },
+ {
+ // blockable
+ "title": "Blockable content",
+ "description": "Test behavior of blockable content.",
+ "specification_url": "http://www.w3.org/TR/mixed-content/#category-blockable",
+ "test_expansion": [
+ {
+ // opt-in-blocks
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "opt-in",
+ "redirection": "*",
+ "subresource": [
+ "a-tag",
+ "beacon",
+ "fetch",
+ "link-css-tag",
+ "link-prefetch-tag",
+ "object-tag",
+ "picture-tag",
+ "script-tag",
+ "sharedworker-classic",
+ "sharedworker-import",
+ "sharedworker-import-data",
+ "sharedworker-module",
+ "websocket",
+ "worker-classic",
+ "worker-import",
+ "worker-import-data",
+ "worker-module",
+ "worklet-animation",
+ "worklet-animation-import-data",
+ "worklet-audio",
+ "worklet-audio-import-data",
+ "worklet-layout",
+ "worklet-layout-import-data",
+ "worklet-paint",
+ "worklet-paint-import-data",
+ "xhr"
+ ],
+ "origin": [
+ "cross-http",
+ "same-http"
+ ],
+ "expectation": "blocked"
+ },
+ {
+ // opt-in-blocks-redirects
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "opt-in",
+ "redirection": "swap-scheme",
+ "subresource": [
+ "a-tag",
+ "beacon",
+ "fetch",
+ "link-css-tag",
+ "link-prefetch-tag",
+ "object-tag",
+ "picture-tag",
+ "script-tag",
+ "sharedworker-classic",
+ "sharedworker-import",
+ "sharedworker-import-data",
+ "sharedworker-module",
+ "websocket",
+ "worker-classic",
+ "worker-import",
+ "worker-import-data",
+ "worker-module",
+ "worklet-animation",
+ "worklet-animation-import-data",
+ "worklet-audio",
+ "worklet-audio-import-data",
+ "worklet-layout",
+ "worklet-layout-import-data",
+ "worklet-paint",
+ "worklet-paint-import-data",
+ "xhr"
+ ],
+ "origin": [
+ "same-https",
+ "cross-https"
+ ],
+ "expectation": "blocked"
+ },
+ {
+ // no-opt-in-blocks
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": null,
+ "redirection": "*",
+ "subresource": [
+ "a-tag",
+ "beacon",
+ "fetch",
+ "link-css-tag",
+ "link-prefetch-tag",
+ "object-tag",
+ "picture-tag",
+ "script-tag",
+ "sharedworker-classic",
+ "sharedworker-import",
+ "sharedworker-import-data",
+ "sharedworker-module",
+ "websocket",
+ "worker-classic",
+ "worker-import",
+ "worker-import-data",
+ "worker-module",
+ "worklet-animation",
+ "worklet-animation-import-data",
+ "worklet-audio",
+ "worklet-audio-import-data",
+ "worklet-layout",
+ "worklet-layout-import-data",
+ "worklet-paint",
+ "worklet-paint-import-data",
+ "xhr"
+ ],
+ "origin": [
+ "cross-http",
+ "same-http"
+ ],
+ "expectation": "blocked"
+ },
+ {
+ // ws-downgrade-blocks
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": "websocket",
+ "origin": [
+ "cross-ws",
+ "same-ws"
+ ],
+ "expectation": "blocked"
+ }
+ ]
+ },
+ {
+ // allowed
+ "title": "Allowed content",
+ "description": "Test behavior of allowed content.",
+ "specification_url": "http://www.w3.org/TR/mixed-content/",
+ "test_expansion": [
+ {
+ // allowed
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": [
+ "no-redirect",
+ "keep-scheme"
+ ],
+ "subresource": "*",
+ "origin": [
+ "same-https"
+ ],
+ "expectation": "allowed"
+ },
+ {
+ // websocket-allowed
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": [
+ "no-redirect",
+ "keep-scheme"
+ ],
+ "subresource": "websocket",
+ "origin": [
+ "same-wss"
+ ],
+ "expectation": "allowed"
+ }
+ ]
+ }
+ ],
+ "delivery_key": "mixedContent",
+ "excluded_tests": [
+ {
+ // Skip-redundant-no-opt-in
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": [
+ // In certain source_context_lists (workers),
+ // this is not redundant because <meta> is not supported.
+ "top",
+ "srcdoc-inherit",
+ "iframe",
+ "iframe-blank-inherit",
+ "worker-classic-data",
+ "worker-module-data",
+ "sharedworker-classic-data",
+ "sharedworker-module-data"
+ ],
+ "delivery_type": "http-rp",
+ "delivery_value": null,
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // Skip-redundant-for-opt-in-method
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "meta",
+ "delivery_value": "opt-in",
+ "redirection": [
+ "keep-scheme",
+ "swap-scheme"
+ ],
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // source_context_list values not yet tested
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": [
+ "req",
+ "srcdoc-inherit",
+ "srcdoc",
+ "iframe",
+ "iframe-blank-inherit"
+ ],
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // subresource values not yet tested
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": [
+ "a-tag",
+ "area-tag",
+ "iframe-tag",
+ ],
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // redirections that mixed-content tests don't care
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": [
+ "keep-origin",
+ "swap-origin",
+ "downgrade"
+ ],
+ "origin": "*",
+ "subresource": "*",
+ "expectation": "*"
+ },
+ ],
+ "source_context_schema": {
+ "supported_delivery_type": {
+ "top": [
+ "http-rp",
+ "meta"
+ ],
+ "iframe": [
+ "http-rp",
+ "meta"
+ ],
+ "iframe-blank": [
+ "meta"
+ ],
+ "srcdoc": [
+ "meta"
+ ],
+ "worker-classic": [
+ "http-rp"
+ ],
+ "worker-module": [
+ "http-rp"
+ ],
+ "worker-classic-data": [],
+ "worker-module-data": [],
+ "sharedworker-classic": [
+ "http-rp"
+ ],
+ "sharedworker-module": [
+ "http-rp"
+ ],
+ "sharedworker-classic-data": [],
+ "sharedworker-module-data": []
+ }
+ },
+ "subresource_schema": {
+ "supported_delivery_type": {
+ "a-tag": [],
+ "area-tag": [],
+ "audio-tag": [],
+ "beacon": [],
+ "fetch": [],
+ "iframe-tag": [],
+ "img-tag": [],
+ "link-css-tag": [],
+ "link-prefetch-tag": [],
+ "object-tag": [],
+ "picture-tag": [],
+ "script-tag": [],
+ "script-tag-dynamic-import": [],
+ "sharedworker-classic": [],
+ "sharedworker-import": [],
+ "sharedworker-import-data": [],
+ "sharedworker-module": [],
+ "video-tag": [],
+ "websocket": [],
+ "worker-classic": [],
+ "worker-import": [],
+ "worker-import-data": [],
+ "worker-module": [],
+ "worklet-animation": [],
+ "worklet-animation-import-data": [],
+ "worklet-audio": [],
+ "worklet-audio-import-data": [],
+ "worklet-layout": [],
+ "worklet-layout-import-data": [],
+ "worklet-paint": [],
+ "worklet-paint-import-data": [],
+ "xhr": []
+ }
+ },
+ "test_expansion_schema": {
+ "delivery_type": [
+ "http-rp",
+ "meta"
+ ],
+ "delivery_value": [
+ null,
+ "opt-in"
+ ],
+ "expectation": [
+ "allowed",
+ "blocked"
+ ]
+ }
+}