Bug 1615933 [wpt PR 21823] - [WPT/mixed-content] Flatten subresource types, a=testonly
authorHiroshige Hayashizaki <hiroshige@chromium.org>
Mon, 17 Feb 2020 17:03:32 +0000
changeset 514509 5fd7a1490e6224276edc49552f4124d73d87a74a
parent 514508 9fd520a3fece64a38d59970f7789141e223bded6
child 514510 06705ec6ae73173f1eede4bc59f5311cad6a9a89
push id107608
push userwptsync@mozilla.com
push dateTue, 18 Feb 2020 19:32:13 +0000
treeherderautoland@292082ca1880 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1615933, 21823, 2049953, 906850, 2058705, 741847
milestone75.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1615933 [wpt PR 21823] - [WPT/mixed-content] Flatten subresource types, a=testonly Automatic update from web-platform-tests [WPT/mixed-content] Flatten subresource types To unify `spec.src.json`, this CL flattens subresource types in `mixed-content/spec.src.json`, to match the structure with other `spec.src.json`s. A subsequent CL https://chromium-review.googlesource.com/c/chromium/src/+/2049953 will actually merge some parts of `spec.src.json`s. This CL doesn't change the generated results. Bug: 906850 Change-Id: I38963dbc847b09fb314907e8d068232c15e7cffc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2058705 Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org> Cr-Commit-Position: refs/heads/master@{#741847} -- wpt-commits: b2331fccbc54f5b0a57d66190d30d40341cbc957 wpt-pr: 21823
testing/web-platform/tests/mixed-content/generic/spec_json.js
testing/web-platform/tests/mixed-content/spec.src.json
--- a/testing/web-platform/tests/mixed-content/generic/spec_json.js
+++ b/testing/web-platform/tests/mixed-content/generic/spec_json.js
@@ -1,1 +1,1 @@
-var SPEC_JSON = {"selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s", "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html", "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": [{"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", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "*", "subresource": {"blockable": [], "optionally-blockable": "*"}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "opt-in-blocks-redirects", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "swap-scheme", "subresource": {"blockable": [], "optionally-blockable": "*"}, "origin": ["same-https", "cross-https"], "expectation": "blocked"}, {"name": "no-opt-in-allows", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "subresource": {"blockable": [], "optionally-blockable": "*"}, "origin": ["cross-http", "same-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", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": []}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "opt-in-blocks-redirects", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "swap-scheme", "subresource": {"blockable": "*", "optionally-blockable": []}, "origin": ["same-https", "cross-https"], "expectation": "blocked"}, {"name": "no-opt-in-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": []}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "ws-downgrade-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": "websocket", "optionally-blockable": []}, "origin": ["cross-ws", "same-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", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["no-redirect", "keep-scheme"], "subresource": {"blockable": "*", "optionally-blockable": "*"}, "origin": ["same-https"], "expectation": "allowed"}, {"name": "websocket-allowed", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["no-redirect", "keep-scheme"], "subresource": {"blockable": "websocket", "optionally-blockable": []}, "origin": ["same-wss"], "expectation": "allowed"}]}], "delivery_key": "mixedContent", "excluded_tests": [{"name": "Skip-redundant-no-opt-in", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "http-rp", "delivery_value": null, "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": "*"}, "origin": "*", "expectation": "*"}, {"name": "Redundant-subresources", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": ["a-tag"], "optionally-blockable": []}, "origin": "*", "expectation": "*"}, {"name": "Skip-origins-not-applicable-to-websockets", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": ["websocket"], "optionally-blockable": []}, "origin": ["same-https", "same-http", "cross-https", "cross-http"], "expectation": "*"}, {"name": "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": {"blockable": "*", "optionally-blockable": "*"}, "origin": "*", "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": []}, "supported_subresource": {"top": "*", "iframe": "*", "iframe-blank": "*", "srcdoc": "*", "worker-classic": ["xhr", "fetch", "websocket"], "worker-module": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "worker-module-data": ["xhr", "fetch", "websocket"], "sharedworker-classic": ["xhr", "fetch", "websocket"], "sharedworker-module": ["xhr", "fetch", "websocket"], "sharedworker-classic-data": ["xhr", "fetch", "websocket"], "sharedworker-module-data": ["xhr", "fetch", "websocket"]}}, "subresource_schema": {"supported_delivery_type": {"script-tag": [], "link-css-tag": [], "xhr": [], "worker-classic": [], "worker-module": [], "worker-import-data": [], "sharedworker-classic": [], "sharedworker-module": [], "sharedworker-import-data": [], "worklet-animation": [], "worklet-audio": [], "worklet-layout": [], "worklet-paint": [], "worklet-animation-import-data": [], "worklet-audio-import-data": [], "worklet-layout-import-data": [], "worklet-paint-import-data": [], "fetch": [], "a-tag": [], "object-tag": [], "picture-tag": [], "websocket": [], "link-prefetch-tag": [], "beacon": [], "img-tag": [], "audio-tag": [], "video-tag": []}}, "source_context_list_schema": {"top": {"description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "worker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "sharedworker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "sharedworker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "sharedworker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "sharedworker-module-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}}, "test_expansion_schema": {"expansion": ["default", "override"], "source_scheme": ["http", "https"], "delivery_type": ["http-rp", "meta"], "delivery_value": [null, "opt-in"], "source_context_list": ["top", "worker-classic-data", "worker-module-data", "sharedworker-classic-data", "sharedworker-module-data"], "redirection": ["no-redirect", "keep-scheme", "swap-scheme"], "origin": ["same-https", "same-http", "cross-https", "cross-http", "same-wss", "same-ws", "cross-wss", "cross-ws"], "subresource": {"blockable": ["script-tag", "link-css-tag", "xhr", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "sharedworker-module", "sharedworker-import-data", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data", "fetch", "a-tag", "object-tag", "picture-tag", "websocket", "link-prefetch-tag", "beacon"], "optionally-blockable": ["img-tag", "audio-tag", "video-tag"]}, "expectation": ["allowed", "blocked"]}};
+var SPEC_JSON = {"selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s", "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html", "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": [{"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", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "*", "subresource": ["audio-tag", "img-tag", "video-tag"], "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "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"}, {"name": "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"}]}, {"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", "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-data", "sharedworker-module", "websocket", "worker-classic", "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"}, {"name": "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-data", "sharedworker-module", "websocket", "worker-classic", "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"}, {"name": "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-data", "sharedworker-module", "websocket", "worker-classic", "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"}, {"name": "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"}]}, {"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", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["no-redirect", "keep-scheme"], "subresource": "*", "origin": ["same-https"], "expectation": "allowed"}, {"name": "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": [{"name": "Skip-redundant-no-opt-in", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "http-rp", "delivery_value": null, "redirection": "*", "subresource": "*", "origin": "*", "expectation": "*"}, {"name": "Redundant-subresources", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": "a-tag", "origin": "*", "expectation": "*"}, {"name": "Skip-origins-not-applicable-to-websockets", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": "websocket", "origin": ["same-https", "same-http", "cross-https", "cross-http"], "expectation": "*"}, {"name": "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_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": []}, "supported_subresource": {"top": "*", "iframe": "*", "iframe-blank": "*", "srcdoc": "*", "worker-classic": ["xhr", "fetch", "websocket"], "worker-module": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "worker-module-data": ["xhr", "fetch", "websocket"], "sharedworker-classic": ["xhr", "fetch", "websocket"], "sharedworker-module": ["xhr", "fetch", "websocket"], "sharedworker-classic-data": ["xhr", "fetch", "websocket"], "sharedworker-module-data": ["xhr", "fetch", "websocket"]}}, "subresource_schema": {"supported_delivery_type": {"script-tag": [], "link-css-tag": [], "xhr": [], "worker-classic": [], "worker-module": [], "worker-import-data": [], "sharedworker-classic": [], "sharedworker-module": [], "sharedworker-import-data": [], "worklet-animation": [], "worklet-audio": [], "worklet-layout": [], "worklet-paint": [], "worklet-animation-import-data": [], "worklet-audio-import-data": [], "worklet-layout-import-data": [], "worklet-paint-import-data": [], "fetch": [], "a-tag": [], "object-tag": [], "picture-tag": [], "websocket": [], "link-prefetch-tag": [], "beacon": [], "img-tag": [], "audio-tag": [], "video-tag": []}}, "source_context_list_schema": {"top": {"description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "worker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "sharedworker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "sharedworker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "sharedworker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "sharedworker-module-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}}, "test_expansion_schema": {"expansion": ["default", "override"], "source_scheme": ["http", "https"], "delivery_type": ["http-rp", "meta"], "delivery_value": [null, "opt-in"], "source_context_list": ["top", "worker-classic-data", "worker-module-data", "sharedworker-classic-data", "sharedworker-module-data"], "redirection": ["no-redirect", "keep-scheme", "swap-scheme"], "origin": ["same-https", "same-http", "cross-https", "cross-http", "same-wss", "same-ws", "cross-wss", "cross-ws"], "subresource": ["script-tag", "link-css-tag", "xhr", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "sharedworker-module", "sharedworker-import-data", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data", "fetch", "a-tag", "object-tag", "picture-tag", "websocket", "link-prefetch-tag", "beacon", "img-tag", "audio-tag", "video-tag"], "expectation": ["allowed", "blocked"]}};
--- a/testing/web-platform/tests/mixed-content/spec.src.json
+++ b/testing/web-platform/tests/mixed-content/spec.src.json
@@ -13,56 +13,59 @@
         {
           "name": "opt-in-blocks",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "opt-in",
           "redirection": "*",
-          "subresource": {
-            "blockable": [],
-            "optionally-blockable": "*"
-          },
+          "subresource": [
+            "audio-tag",
+            "img-tag",
+            "video-tag"
+          ],
           "origin": [
             "cross-http",
             "same-http"
           ],
           "expectation": "blocked"
         },
         {
           "name": "opt-in-blocks-redirects",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "opt-in",
           "redirection": "swap-scheme",
-          "subresource": {
-            "blockable": [],
-            "optionally-blockable": "*"
-          },
+          "subresource": [
+            "audio-tag",
+            "img-tag",
+            "video-tag"
+          ],
           "origin": [
             "same-https",
             "cross-https"
           ],
           "expectation": "blocked"
         },
         {
           "name": "no-opt-in-allows",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": null,
           "redirection": "*",
-          "subresource": {
-            "blockable": [],
-            "optionally-blockable": "*"
-          },
+          "subresource": [
+            "audio-tag",
+            "img-tag",
+            "video-tag"
+          ],
           "origin": [
             "cross-http",
             "same-http"
           ],
           "expectation": "allowed"
         }
       ]
     },
@@ -75,74 +78,137 @@
         {
           "name": "opt-in-blocks",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "opt-in",
           "redirection": "*",
-          "subresource": {
-            "blockable": "*",
-            "optionally-blockable": []
-          },
+          "subresource": [
+            "a-tag",
+            "beacon",
+            "fetch",
+            "link-css-tag",
+            "link-prefetch-tag",
+            "object-tag",
+            "picture-tag",
+            "script-tag",
+            "sharedworker-classic",
+            "sharedworker-import-data",
+            "sharedworker-module",
+            "websocket",
+            "worker-classic",
+            "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"
         },
         {
           "name": "opt-in-blocks-redirects",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "opt-in",
           "redirection": "swap-scheme",
-          "subresource": {
-            "blockable": "*",
-            "optionally-blockable": []
-          },
+          "subresource": [
+            "a-tag",
+            "beacon",
+            "fetch",
+            "link-css-tag",
+            "link-prefetch-tag",
+            "object-tag",
+            "picture-tag",
+            "script-tag",
+            "sharedworker-classic",
+            "sharedworker-import-data",
+            "sharedworker-module",
+            "websocket",
+            "worker-classic",
+            "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"
         },
         {
           "name": "no-opt-in-blocks",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": null,
           "redirection": "*",
-          "subresource": {
-            "blockable": "*",
-            "optionally-blockable": []
-          },
+          "subresource": [
+            "a-tag",
+            "beacon",
+            "fetch",
+            "link-css-tag",
+            "link-prefetch-tag",
+            "object-tag",
+            "picture-tag",
+            "script-tag",
+            "sharedworker-classic",
+            "sharedworker-import-data",
+            "sharedworker-module",
+            "websocket",
+            "worker-classic",
+            "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"
         },
         {
           "name": "ws-downgrade-blocks",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "*",
           "redirection": "*",
-          "subresource": {
-            "blockable": "websocket",
-            "optionally-blockable": []
-          },
+          "subresource": "websocket",
           "origin": [
             "cross-ws",
             "same-ws"
           ],
           "expectation": "blocked"
         }
       ]
     },
@@ -158,40 +224,34 @@
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "*",
           "redirection": [
             "no-redirect",
             "keep-scheme"
           ],
-          "subresource": {
-            "blockable": "*",
-            "optionally-blockable": "*"
-          },
+          "subresource": "*",
           "origin": [
             "same-https"
           ],
           "expectation": "allowed"
         },
         {
           "name": "websocket-allowed",
           "expansion": "default",
           "source_scheme": "https",
           "source_context_list": "*",
           "delivery_type": "*",
           "delivery_value": "*",
           "redirection": [
             "no-redirect",
             "keep-scheme"
           ],
-          "subresource": {
-            "blockable": "websocket",
-            "optionally-blockable": []
-          },
+          "subresource": "websocket",
           "origin": [
             "same-wss"
           ],
           "expectation": "allowed"
         }
       ]
     }
   ],
@@ -200,54 +260,41 @@
     {
       "name": "Skip-redundant-no-opt-in",
       "expansion": "*",
       "source_scheme": "*",
       "source_context_list": "*",
       "delivery_type": "http-rp",
       "delivery_value": null,
       "redirection": "*",
-      "subresource": {
-        "blockable": "*",
-        "optionally-blockable": "*"
-      },
+      "subresource": "*",
       "origin": "*",
       "expectation": "*"
     },
     {
       "name": "Redundant-subresources",
       "expansion": "*",
       "source_scheme": "*",
       "source_context_list": "*",
       "delivery_type": "*",
       "delivery_value": "*",
       "redirection": "*",
-      "subresource": {
-        "blockable": [
-          "a-tag"
-        ],
-        "optionally-blockable": []
-      },
+      "subresource": "a-tag",
       "origin": "*",
       "expectation": "*"
     },
     {
       "name": "Skip-origins-not-applicable-to-websockets",
       "expansion": "*",
       "source_scheme": "*",
       "source_context_list": "*",
       "delivery_type": "*",
       "delivery_value": "*",
       "redirection": "*",
-      "subresource": {
-        "blockable": [
-          "websocket"
-        ],
-        "optionally-blockable": []
-      },
+      "subresource": "websocket",
       "origin": [
         "same-https",
         "same-http",
         "cross-https",
         "cross-http"
       ],
       "expectation": "*"
     },
@@ -257,20 +304,17 @@
       "source_scheme": "*",
       "source_context_list": "*",
       "delivery_type": "meta",
       "delivery_value": "opt-in",
       "redirection": [
         "keep-scheme",
         "swap-scheme"
       ],
-      "subresource": {
-        "blockable": "*",
-        "optionally-blockable": "*"
-      },
+      "subresource": "*",
       "origin": "*",
       "expectation": "*"
     }
   ],
   "source_context_schema": {
     "supported_delivery_type": {
       "top": [
         "http-rp",
@@ -489,47 +533,43 @@
       "same-http",
       "cross-https",
       "cross-http",
       "same-wss",
       "same-ws",
       "cross-wss",
       "cross-ws"
     ],
-    "subresource": {
-      "blockable": [
-        "script-tag",
-        "link-css-tag",
-        "xhr",
-        "worker-classic",
-        "worker-module",
-        "worker-import-data",
-        "sharedworker-classic",
-        "sharedworker-module",
-        "sharedworker-import-data",
-        "worklet-animation",
-        "worklet-audio",
-        "worklet-layout",
-        "worklet-paint",
-        "worklet-animation-import-data",
-        "worklet-audio-import-data",
-        "worklet-layout-import-data",
-        "worklet-paint-import-data",
-        "fetch",
-        "a-tag",
-        "object-tag",
-        "picture-tag",
-        "websocket",
-        "link-prefetch-tag",
-        "beacon"
-      ],
-      "optionally-blockable": [
-        "img-tag",
-        "audio-tag",
-        "video-tag"
-      ]
-    },
+    "subresource": [
+      "script-tag",
+      "link-css-tag",
+      "xhr",
+      "worker-classic",
+      "worker-module",
+      "worker-import-data",
+      "sharedworker-classic",
+      "sharedworker-module",
+      "sharedworker-import-data",
+      "worklet-animation",
+      "worklet-audio",
+      "worklet-layout",
+      "worklet-paint",
+      "worklet-animation-import-data",
+      "worklet-audio-import-data",
+      "worklet-layout-import-data",
+      "worklet-paint-import-data",
+      "fetch",
+      "a-tag",
+      "object-tag",
+      "picture-tag",
+      "websocket",
+      "link-prefetch-tag",
+      "beacon",
+      "img-tag",
+      "audio-tag",
+      "video-tag"
+    ],
     "expectation": [
       "allowed",
       "blocked"
     ]
   }
 }