11cb0ef41Sopenharmony_ci{
21cb0ef41Sopenharmony_ci  "selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s",
31cb0ef41Sopenharmony_ci  "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s.%(source_scheme)s.html",
41cb0ef41Sopenharmony_ci  "excluded_tests": [
51cb0ef41Sopenharmony_ci    {
61cb0ef41Sopenharmony_ci      // Workers are same-origin only
71cb0ef41Sopenharmony_ci      "expansion": "*",
81cb0ef41Sopenharmony_ci      "source_scheme": "*",
91cb0ef41Sopenharmony_ci      "source_context_list": "*",
101cb0ef41Sopenharmony_ci      "delivery_type": "*",
111cb0ef41Sopenharmony_ci      "delivery_value": "*",
121cb0ef41Sopenharmony_ci      "redirection": "*",
131cb0ef41Sopenharmony_ci      "subresource": [
141cb0ef41Sopenharmony_ci        "worker-classic",
151cb0ef41Sopenharmony_ci        "worker-module",
161cb0ef41Sopenharmony_ci        "sharedworker-classic",
171cb0ef41Sopenharmony_ci        "sharedworker-module"
181cb0ef41Sopenharmony_ci      ],
191cb0ef41Sopenharmony_ci      "origin": [
201cb0ef41Sopenharmony_ci        "cross-https",
211cb0ef41Sopenharmony_ci        "cross-http",
221cb0ef41Sopenharmony_ci        "cross-http-downgrade",
231cb0ef41Sopenharmony_ci        "cross-wss",
241cb0ef41Sopenharmony_ci        "cross-ws",
251cb0ef41Sopenharmony_ci        "cross-ws-downgrade"
261cb0ef41Sopenharmony_ci      ],
271cb0ef41Sopenharmony_ci      "expectation": "*"
281cb0ef41Sopenharmony_ci    },
291cb0ef41Sopenharmony_ci    {
301cb0ef41Sopenharmony_ci      // Workers are same-origin only (redirects)
311cb0ef41Sopenharmony_ci      "expansion": "*",
321cb0ef41Sopenharmony_ci      "source_scheme": "*",
331cb0ef41Sopenharmony_ci      "source_context_list": "*",
341cb0ef41Sopenharmony_ci      "delivery_type": "*",
351cb0ef41Sopenharmony_ci      "delivery_value": "*",
361cb0ef41Sopenharmony_ci      "redirection": [
371cb0ef41Sopenharmony_ci        "swap-origin",
381cb0ef41Sopenharmony_ci        "swap-scheme"
391cb0ef41Sopenharmony_ci      ],
401cb0ef41Sopenharmony_ci      "subresource": [
411cb0ef41Sopenharmony_ci        "worker-classic",
421cb0ef41Sopenharmony_ci        "worker-module",
431cb0ef41Sopenharmony_ci        "sharedworker-classic",
441cb0ef41Sopenharmony_ci        "sharedworker-module"
451cb0ef41Sopenharmony_ci      ],
461cb0ef41Sopenharmony_ci      "origin": "*",
471cb0ef41Sopenharmony_ci      "expectation": "*"
481cb0ef41Sopenharmony_ci    },
491cb0ef41Sopenharmony_ci    {
501cb0ef41Sopenharmony_ci      // Websockets are ws/wss-only
511cb0ef41Sopenharmony_ci      "expansion": "*",
521cb0ef41Sopenharmony_ci      "source_scheme": "*",
531cb0ef41Sopenharmony_ci      "source_context_list": "*",
541cb0ef41Sopenharmony_ci      "delivery_type": "*",
551cb0ef41Sopenharmony_ci      "delivery_value": "*",
561cb0ef41Sopenharmony_ci      "redirection": "*",
571cb0ef41Sopenharmony_ci      "subresource": "websocket",
581cb0ef41Sopenharmony_ci      "origin": [
591cb0ef41Sopenharmony_ci        "same-https",
601cb0ef41Sopenharmony_ci        "same-http",
611cb0ef41Sopenharmony_ci        "same-http-downgrade",
621cb0ef41Sopenharmony_ci        "cross-https",
631cb0ef41Sopenharmony_ci        "cross-http",
641cb0ef41Sopenharmony_ci        "cross-http-downgrade"
651cb0ef41Sopenharmony_ci      ],
661cb0ef41Sopenharmony_ci      "expectation": "*"
671cb0ef41Sopenharmony_ci    },
681cb0ef41Sopenharmony_ci    {
691cb0ef41Sopenharmony_ci      // Redirects are intentionally forbidden in browsers:
701cb0ef41Sopenharmony_ci      // https://fetch.spec.whatwg.org/#concept-websocket-establish
711cb0ef41Sopenharmony_ci      // Websockets are no-redirect only
721cb0ef41Sopenharmony_ci      "expansion": "*",
731cb0ef41Sopenharmony_ci      "source_scheme": "*",
741cb0ef41Sopenharmony_ci      "source_context_list": "*",
751cb0ef41Sopenharmony_ci      "delivery_type": "*",
761cb0ef41Sopenharmony_ci      "delivery_value": "*",
771cb0ef41Sopenharmony_ci      "redirection": [
781cb0ef41Sopenharmony_ci        "keep-origin",
791cb0ef41Sopenharmony_ci        "swap-origin",
801cb0ef41Sopenharmony_ci        "keep-scheme",
811cb0ef41Sopenharmony_ci        "swap-scheme",
821cb0ef41Sopenharmony_ci        "downgrade"
831cb0ef41Sopenharmony_ci      ],
841cb0ef41Sopenharmony_ci      "subresource": "websocket",
851cb0ef41Sopenharmony_ci      "origin": "*",
861cb0ef41Sopenharmony_ci      "expectation": "*"
871cb0ef41Sopenharmony_ci    },
881cb0ef41Sopenharmony_ci    {
891cb0ef41Sopenharmony_ci      // ws/wss are websocket-only
901cb0ef41Sopenharmony_ci      "expansion": "*",
911cb0ef41Sopenharmony_ci      "source_scheme": "*",
921cb0ef41Sopenharmony_ci      "source_context_list": "*",
931cb0ef41Sopenharmony_ci      "delivery_type": "*",
941cb0ef41Sopenharmony_ci      "delivery_value": "*",
951cb0ef41Sopenharmony_ci      "redirection": "*",
961cb0ef41Sopenharmony_ci      "subresource": [
971cb0ef41Sopenharmony_ci        "a-tag",
981cb0ef41Sopenharmony_ci        "area-tag",
991cb0ef41Sopenharmony_ci        "audio-tag",
1001cb0ef41Sopenharmony_ci        "beacon",
1011cb0ef41Sopenharmony_ci        "fetch",
1021cb0ef41Sopenharmony_ci        "iframe-tag",
1031cb0ef41Sopenharmony_ci        "img-tag",
1041cb0ef41Sopenharmony_ci        "link-css-tag",
1051cb0ef41Sopenharmony_ci        "link-prefetch-tag",
1061cb0ef41Sopenharmony_ci        "object-tag",
1071cb0ef41Sopenharmony_ci        "picture-tag",
1081cb0ef41Sopenharmony_ci        "script-tag",
1091cb0ef41Sopenharmony_ci        "sharedworker-classic",
1101cb0ef41Sopenharmony_ci        "sharedworker-import",
1111cb0ef41Sopenharmony_ci        "sharedworker-import-data",
1121cb0ef41Sopenharmony_ci        "sharedworker-module",
1131cb0ef41Sopenharmony_ci        "video-tag",
1141cb0ef41Sopenharmony_ci        "worker-classic",
1151cb0ef41Sopenharmony_ci        "worker-import",
1161cb0ef41Sopenharmony_ci        "worker-import-data",
1171cb0ef41Sopenharmony_ci        "worker-module",
1181cb0ef41Sopenharmony_ci        "worklet-animation",
1191cb0ef41Sopenharmony_ci        "worklet-animation-import-data",
1201cb0ef41Sopenharmony_ci        "worklet-audio",
1211cb0ef41Sopenharmony_ci        "worklet-audio-import-data",
1221cb0ef41Sopenharmony_ci        "worklet-layout",
1231cb0ef41Sopenharmony_ci        "worklet-layout-import-data",
1241cb0ef41Sopenharmony_ci        "worklet-paint",
1251cb0ef41Sopenharmony_ci        "worklet-paint-import-data",
1261cb0ef41Sopenharmony_ci        "xhr"
1271cb0ef41Sopenharmony_ci      ],
1281cb0ef41Sopenharmony_ci      "origin": [
1291cb0ef41Sopenharmony_ci        "same-wss",
1301cb0ef41Sopenharmony_ci        "same-ws",
1311cb0ef41Sopenharmony_ci        "same-ws-downgrade",
1321cb0ef41Sopenharmony_ci        "cross-wss",
1331cb0ef41Sopenharmony_ci        "cross-ws",
1341cb0ef41Sopenharmony_ci        "cross-ws-downgrade"
1351cb0ef41Sopenharmony_ci      ],
1361cb0ef41Sopenharmony_ci      "expectation": "*"
1371cb0ef41Sopenharmony_ci    },
1381cb0ef41Sopenharmony_ci    {
1391cb0ef41Sopenharmony_ci      // Worklets are HTTPS contexts only
1401cb0ef41Sopenharmony_ci      "expansion": "*",
1411cb0ef41Sopenharmony_ci      "source_scheme": "http",
1421cb0ef41Sopenharmony_ci      "source_context_list": "*",
1431cb0ef41Sopenharmony_ci      "delivery_type": "*",
1441cb0ef41Sopenharmony_ci      "delivery_value": "*",
1451cb0ef41Sopenharmony_ci      "redirection": "*",
1461cb0ef41Sopenharmony_ci      "subresource": [
1471cb0ef41Sopenharmony_ci        "worklet-animation",
1481cb0ef41Sopenharmony_ci        "worklet-animation-import-data",
1491cb0ef41Sopenharmony_ci        "worklet-audio",
1501cb0ef41Sopenharmony_ci        "worklet-audio-import-data",
1511cb0ef41Sopenharmony_ci        "worklet-layout",
1521cb0ef41Sopenharmony_ci        "worklet-layout-import-data",
1531cb0ef41Sopenharmony_ci        "worklet-paint",
1541cb0ef41Sopenharmony_ci        "worklet-paint-import-data"
1551cb0ef41Sopenharmony_ci      ],
1561cb0ef41Sopenharmony_ci      "origin": "*",
1571cb0ef41Sopenharmony_ci      "expectation": "*"
1581cb0ef41Sopenharmony_ci    }
1591cb0ef41Sopenharmony_ci  ],
1601cb0ef41Sopenharmony_ci  "source_context_schema": {
1611cb0ef41Sopenharmony_ci    "supported_subresource": {
1621cb0ef41Sopenharmony_ci      "top": "*",
1631cb0ef41Sopenharmony_ci      "iframe": "*",
1641cb0ef41Sopenharmony_ci      "iframe-blank": "*",
1651cb0ef41Sopenharmony_ci      "srcdoc": "*",
1661cb0ef41Sopenharmony_ci      "worker-classic": [
1671cb0ef41Sopenharmony_ci        "xhr",
1681cb0ef41Sopenharmony_ci        "fetch",
1691cb0ef41Sopenharmony_ci        "websocket",
1701cb0ef41Sopenharmony_ci        "worker-classic",
1711cb0ef41Sopenharmony_ci        "worker-module"
1721cb0ef41Sopenharmony_ci      ],
1731cb0ef41Sopenharmony_ci      "worker-module": [
1741cb0ef41Sopenharmony_ci        "xhr",
1751cb0ef41Sopenharmony_ci        "fetch",
1761cb0ef41Sopenharmony_ci        "websocket",
1771cb0ef41Sopenharmony_ci        "worker-classic",
1781cb0ef41Sopenharmony_ci        "worker-module"
1791cb0ef41Sopenharmony_ci      ],
1801cb0ef41Sopenharmony_ci      "worker-classic-data": [
1811cb0ef41Sopenharmony_ci        "xhr",
1821cb0ef41Sopenharmony_ci        "fetch",
1831cb0ef41Sopenharmony_ci        "websocket"
1841cb0ef41Sopenharmony_ci      ],
1851cb0ef41Sopenharmony_ci      "worker-module-data": [
1861cb0ef41Sopenharmony_ci        "xhr",
1871cb0ef41Sopenharmony_ci        "fetch",
1881cb0ef41Sopenharmony_ci        "websocket"
1891cb0ef41Sopenharmony_ci      ],
1901cb0ef41Sopenharmony_ci      "sharedworker-classic": [
1911cb0ef41Sopenharmony_ci        "xhr",
1921cb0ef41Sopenharmony_ci        "fetch",
1931cb0ef41Sopenharmony_ci        "websocket"
1941cb0ef41Sopenharmony_ci      ],
1951cb0ef41Sopenharmony_ci      "sharedworker-module": [
1961cb0ef41Sopenharmony_ci        "xhr",
1971cb0ef41Sopenharmony_ci        "fetch",
1981cb0ef41Sopenharmony_ci        "websocket"
1991cb0ef41Sopenharmony_ci      ],
2001cb0ef41Sopenharmony_ci      "sharedworker-classic-data": [
2011cb0ef41Sopenharmony_ci        "xhr",
2021cb0ef41Sopenharmony_ci        "fetch",
2031cb0ef41Sopenharmony_ci        "websocket"
2041cb0ef41Sopenharmony_ci      ],
2051cb0ef41Sopenharmony_ci      "sharedworker-module-data": [
2061cb0ef41Sopenharmony_ci        "xhr",
2071cb0ef41Sopenharmony_ci        "fetch",
2081cb0ef41Sopenharmony_ci        "websocket"
2091cb0ef41Sopenharmony_ci      ]
2101cb0ef41Sopenharmony_ci    }
2111cb0ef41Sopenharmony_ci  },
2121cb0ef41Sopenharmony_ci  "source_context_list_schema": {
2131cb0ef41Sopenharmony_ci    // Warning: Currently, some nested patterns of contexts have different
2141cb0ef41Sopenharmony_ci    // inheritance rules for different kinds of policies.
2151cb0ef41Sopenharmony_ci    // The generated tests will be used to test/investigate the policy
2161cb0ef41Sopenharmony_ci    // inheritance rules, and eventually the policy inheritance rules will
2171cb0ef41Sopenharmony_ci    // be unified (https://github.com/w3ctag/design-principles/issues/111).
2181cb0ef41Sopenharmony_ci    "top": {
2191cb0ef41Sopenharmony_ci      "description": "Policy set by the top-level Document",
2201cb0ef41Sopenharmony_ci      "sourceContextList": [
2211cb0ef41Sopenharmony_ci        {
2221cb0ef41Sopenharmony_ci          "sourceContextType": "top",
2231cb0ef41Sopenharmony_ci          "policyDeliveries": [
2241cb0ef41Sopenharmony_ci            "policy"
2251cb0ef41Sopenharmony_ci          ]
2261cb0ef41Sopenharmony_ci        }
2271cb0ef41Sopenharmony_ci      ],
2281cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
2291cb0ef41Sopenharmony_ci    },
2301cb0ef41Sopenharmony_ci    "req": {
2311cb0ef41Sopenharmony_ci      "description": "Subresource request's policy should override Document's policy",
2321cb0ef41Sopenharmony_ci      "sourceContextList": [
2331cb0ef41Sopenharmony_ci        {
2341cb0ef41Sopenharmony_ci          "sourceContextType": "top",
2351cb0ef41Sopenharmony_ci          "policyDeliveries": [
2361cb0ef41Sopenharmony_ci            "anotherPolicy"
2371cb0ef41Sopenharmony_ci          ]
2381cb0ef41Sopenharmony_ci        }
2391cb0ef41Sopenharmony_ci      ],
2401cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": [
2411cb0ef41Sopenharmony_ci        "nonNullPolicy"
2421cb0ef41Sopenharmony_ci      ]
2431cb0ef41Sopenharmony_ci    },
2441cb0ef41Sopenharmony_ci    "srcdoc-inherit": {
2451cb0ef41Sopenharmony_ci      "description": "srcdoc iframe without its own policy should inherit parent Document's policy",
2461cb0ef41Sopenharmony_ci      "sourceContextList": [
2471cb0ef41Sopenharmony_ci        {
2481cb0ef41Sopenharmony_ci          "sourceContextType": "top",
2491cb0ef41Sopenharmony_ci          "policyDeliveries": [
2501cb0ef41Sopenharmony_ci            "policy"
2511cb0ef41Sopenharmony_ci          ]
2521cb0ef41Sopenharmony_ci        },
2531cb0ef41Sopenharmony_ci        {
2541cb0ef41Sopenharmony_ci          "sourceContextType": "srcdoc"
2551cb0ef41Sopenharmony_ci        }
2561cb0ef41Sopenharmony_ci      ],
2571cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
2581cb0ef41Sopenharmony_ci    },
2591cb0ef41Sopenharmony_ci    "srcdoc": {
2601cb0ef41Sopenharmony_ci      "description": "srcdoc iframe's policy should override parent Document's policy",
2611cb0ef41Sopenharmony_ci      "sourceContextList": [
2621cb0ef41Sopenharmony_ci        {
2631cb0ef41Sopenharmony_ci          "sourceContextType": "top",
2641cb0ef41Sopenharmony_ci          "policyDeliveries": [
2651cb0ef41Sopenharmony_ci            "anotherPolicy"
2661cb0ef41Sopenharmony_ci          ]
2671cb0ef41Sopenharmony_ci        },
2681cb0ef41Sopenharmony_ci        {
2691cb0ef41Sopenharmony_ci          "sourceContextType": "srcdoc",
2701cb0ef41Sopenharmony_ci          "policyDeliveries": [
2711cb0ef41Sopenharmony_ci            "nonNullPolicy"
2721cb0ef41Sopenharmony_ci          ]
2731cb0ef41Sopenharmony_ci        }
2741cb0ef41Sopenharmony_ci      ],
2751cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
2761cb0ef41Sopenharmony_ci    },
2771cb0ef41Sopenharmony_ci    "iframe": {
2781cb0ef41Sopenharmony_ci      "description": "external iframe's policy should override parent Document's policy",
2791cb0ef41Sopenharmony_ci      "sourceContextList": [
2801cb0ef41Sopenharmony_ci        {
2811cb0ef41Sopenharmony_ci          "sourceContextType": "top",
2821cb0ef41Sopenharmony_ci          "policyDeliveries": [
2831cb0ef41Sopenharmony_ci            "anotherPolicy"
2841cb0ef41Sopenharmony_ci          ]
2851cb0ef41Sopenharmony_ci        },
2861cb0ef41Sopenharmony_ci        {
2871cb0ef41Sopenharmony_ci          "sourceContextType": "iframe",
2881cb0ef41Sopenharmony_ci          "policyDeliveries": [
2891cb0ef41Sopenharmony_ci            "policy"
2901cb0ef41Sopenharmony_ci          ]
2911cb0ef41Sopenharmony_ci        }
2921cb0ef41Sopenharmony_ci      ],
2931cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
2941cb0ef41Sopenharmony_ci    },
2951cb0ef41Sopenharmony_ci    "iframe-blank-inherit": {
2961cb0ef41Sopenharmony_ci      "description": "blank iframe should inherit parent Document's policy",
2971cb0ef41Sopenharmony_ci      "sourceContextList": [
2981cb0ef41Sopenharmony_ci        {
2991cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3001cb0ef41Sopenharmony_ci          "policyDeliveries": [
3011cb0ef41Sopenharmony_ci            "policy"
3021cb0ef41Sopenharmony_ci          ]
3031cb0ef41Sopenharmony_ci        },
3041cb0ef41Sopenharmony_ci        {
3051cb0ef41Sopenharmony_ci          "sourceContextType": "iframe-blank"
3061cb0ef41Sopenharmony_ci        }
3071cb0ef41Sopenharmony_ci      ],
3081cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
3091cb0ef41Sopenharmony_ci    },
3101cb0ef41Sopenharmony_ci    "worker-classic": {
3111cb0ef41Sopenharmony_ci      // This is applicable to referrer-policy tests.
3121cb0ef41Sopenharmony_ci      // Use "worker-classic-inherit" for CSP (mixed-content, etc.).
3131cb0ef41Sopenharmony_ci      "description": "dedicated workers shouldn't inherit its parent's policy.",
3141cb0ef41Sopenharmony_ci      "sourceContextList": [
3151cb0ef41Sopenharmony_ci        {
3161cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3171cb0ef41Sopenharmony_ci          "policyDeliveries": [
3181cb0ef41Sopenharmony_ci            "anotherPolicy"
3191cb0ef41Sopenharmony_ci          ]
3201cb0ef41Sopenharmony_ci        },
3211cb0ef41Sopenharmony_ci        {
3221cb0ef41Sopenharmony_ci          "sourceContextType": "worker-classic",
3231cb0ef41Sopenharmony_ci          "policyDeliveries": [
3241cb0ef41Sopenharmony_ci            "policy"
3251cb0ef41Sopenharmony_ci          ]
3261cb0ef41Sopenharmony_ci        }
3271cb0ef41Sopenharmony_ci      ],
3281cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
3291cb0ef41Sopenharmony_ci    },
3301cb0ef41Sopenharmony_ci    "worker-classic-inherit": {
3311cb0ef41Sopenharmony_ci      // This is applicable to upgrade-insecure-requests and mixed-content tests.
3321cb0ef41Sopenharmony_ci      // Use "worker-classic" for referrer-policy.
3331cb0ef41Sopenharmony_ci      "description": "dedicated workers should inherit its parent's policy.",
3341cb0ef41Sopenharmony_ci      "sourceContextList": [
3351cb0ef41Sopenharmony_ci        {
3361cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3371cb0ef41Sopenharmony_ci          "policyDeliveries": [
3381cb0ef41Sopenharmony_ci            "policy"
3391cb0ef41Sopenharmony_ci          ]
3401cb0ef41Sopenharmony_ci        },
3411cb0ef41Sopenharmony_ci        {
3421cb0ef41Sopenharmony_ci          "sourceContextType": "worker-classic",
3431cb0ef41Sopenharmony_ci          "policyDeliveries": [
3441cb0ef41Sopenharmony_ci            "anotherPolicy"
3451cb0ef41Sopenharmony_ci          ]
3461cb0ef41Sopenharmony_ci        }
3471cb0ef41Sopenharmony_ci      ],
3481cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
3491cb0ef41Sopenharmony_ci    },
3501cb0ef41Sopenharmony_ci    "worker-classic-data": {
3511cb0ef41Sopenharmony_ci      "description": "data: dedicated workers should inherit its parent's policy.",
3521cb0ef41Sopenharmony_ci      "sourceContextList": [
3531cb0ef41Sopenharmony_ci        {
3541cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3551cb0ef41Sopenharmony_ci          "policyDeliveries": [
3561cb0ef41Sopenharmony_ci            "policy"
3571cb0ef41Sopenharmony_ci          ]
3581cb0ef41Sopenharmony_ci        },
3591cb0ef41Sopenharmony_ci        {
3601cb0ef41Sopenharmony_ci          "sourceContextType": "worker-classic-data",
3611cb0ef41Sopenharmony_ci          "policyDeliveries": []
3621cb0ef41Sopenharmony_ci        }
3631cb0ef41Sopenharmony_ci      ],
3641cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
3651cb0ef41Sopenharmony_ci    },
3661cb0ef41Sopenharmony_ci    "worker-module": {
3671cb0ef41Sopenharmony_ci      // This is applicable to referrer-policy tests.
3681cb0ef41Sopenharmony_ci      // Use "worker-module-inherit" for CSP (mixed-content, etc.).
3691cb0ef41Sopenharmony_ci      "description": "dedicated workers shouldn't inherit its parent's policy.",
3701cb0ef41Sopenharmony_ci      "sourceContextList": [
3711cb0ef41Sopenharmony_ci        {
3721cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3731cb0ef41Sopenharmony_ci          "policyDeliveries": [
3741cb0ef41Sopenharmony_ci            "anotherPolicy"
3751cb0ef41Sopenharmony_ci          ]
3761cb0ef41Sopenharmony_ci        },
3771cb0ef41Sopenharmony_ci        {
3781cb0ef41Sopenharmony_ci          "sourceContextType": "worker-module",
3791cb0ef41Sopenharmony_ci          "policyDeliveries": [
3801cb0ef41Sopenharmony_ci            "policy"
3811cb0ef41Sopenharmony_ci          ]
3821cb0ef41Sopenharmony_ci        }
3831cb0ef41Sopenharmony_ci      ],
3841cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
3851cb0ef41Sopenharmony_ci    },
3861cb0ef41Sopenharmony_ci    "worker-module-inherit": {
3871cb0ef41Sopenharmony_ci      // This is applicable to upgrade-insecure-requests and mixed-content tests.
3881cb0ef41Sopenharmony_ci      // Use "worker-module" for referrer-policy.
3891cb0ef41Sopenharmony_ci      "description": "dedicated workers should inherit its parent's policy.",
3901cb0ef41Sopenharmony_ci      "sourceContextList": [
3911cb0ef41Sopenharmony_ci        {
3921cb0ef41Sopenharmony_ci          "sourceContextType": "top",
3931cb0ef41Sopenharmony_ci          "policyDeliveries": [
3941cb0ef41Sopenharmony_ci            "policy"
3951cb0ef41Sopenharmony_ci          ]
3961cb0ef41Sopenharmony_ci        },
3971cb0ef41Sopenharmony_ci        {
3981cb0ef41Sopenharmony_ci          "sourceContextType": "worker-module",
3991cb0ef41Sopenharmony_ci          "policyDeliveries": [
4001cb0ef41Sopenharmony_ci            "anotherPolicy"
4011cb0ef41Sopenharmony_ci          ]
4021cb0ef41Sopenharmony_ci        }
4031cb0ef41Sopenharmony_ci      ],
4041cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4051cb0ef41Sopenharmony_ci    },
4061cb0ef41Sopenharmony_ci    "worker-module-data": {
4071cb0ef41Sopenharmony_ci      "description": "data: dedicated workers should inherit its parent's policy.",
4081cb0ef41Sopenharmony_ci      "sourceContextList": [
4091cb0ef41Sopenharmony_ci        {
4101cb0ef41Sopenharmony_ci          "sourceContextType": "top",
4111cb0ef41Sopenharmony_ci          "policyDeliveries": [
4121cb0ef41Sopenharmony_ci            "policy"
4131cb0ef41Sopenharmony_ci          ]
4141cb0ef41Sopenharmony_ci        },
4151cb0ef41Sopenharmony_ci        {
4161cb0ef41Sopenharmony_ci          "sourceContextType": "worker-module-data",
4171cb0ef41Sopenharmony_ci          "policyDeliveries": []
4181cb0ef41Sopenharmony_ci        }
4191cb0ef41Sopenharmony_ci      ],
4201cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4211cb0ef41Sopenharmony_ci    },
4221cb0ef41Sopenharmony_ci    "sharedworker-classic": {
4231cb0ef41Sopenharmony_ci      "description": "shared workers shouldn't inherit its parent's policy.",
4241cb0ef41Sopenharmony_ci      "sourceContextList": [
4251cb0ef41Sopenharmony_ci        {
4261cb0ef41Sopenharmony_ci          "sourceContextType": "top",
4271cb0ef41Sopenharmony_ci          "policyDeliveries": [
4281cb0ef41Sopenharmony_ci            "anotherPolicy"
4291cb0ef41Sopenharmony_ci          ]
4301cb0ef41Sopenharmony_ci        },
4311cb0ef41Sopenharmony_ci        {
4321cb0ef41Sopenharmony_ci          "sourceContextType": "sharedworker-classic",
4331cb0ef41Sopenharmony_ci          "policyDeliveries": [
4341cb0ef41Sopenharmony_ci            "policy"
4351cb0ef41Sopenharmony_ci          ]
4361cb0ef41Sopenharmony_ci        }
4371cb0ef41Sopenharmony_ci      ],
4381cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4391cb0ef41Sopenharmony_ci    },
4401cb0ef41Sopenharmony_ci    "sharedworker-classic-data": {
4411cb0ef41Sopenharmony_ci      "description": "data: shared workers should inherit its parent's policy.",
4421cb0ef41Sopenharmony_ci      "sourceContextList": [
4431cb0ef41Sopenharmony_ci        {
4441cb0ef41Sopenharmony_ci          "sourceContextType": "top",
4451cb0ef41Sopenharmony_ci          "policyDeliveries": [
4461cb0ef41Sopenharmony_ci            "policy"
4471cb0ef41Sopenharmony_ci          ]
4481cb0ef41Sopenharmony_ci        },
4491cb0ef41Sopenharmony_ci        {
4501cb0ef41Sopenharmony_ci          "sourceContextType": "sharedworker-classic-data",
4511cb0ef41Sopenharmony_ci          "policyDeliveries": []
4521cb0ef41Sopenharmony_ci        }
4531cb0ef41Sopenharmony_ci      ],
4541cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4551cb0ef41Sopenharmony_ci    },
4561cb0ef41Sopenharmony_ci    "sharedworker-module": {
4571cb0ef41Sopenharmony_ci      "description": "shared workers shouldn't inherit its parent's policy.",
4581cb0ef41Sopenharmony_ci      "sourceContextList": [
4591cb0ef41Sopenharmony_ci        {
4601cb0ef41Sopenharmony_ci          "sourceContextType": "top",
4611cb0ef41Sopenharmony_ci          "policyDeliveries": [
4621cb0ef41Sopenharmony_ci            "anotherPolicy"
4631cb0ef41Sopenharmony_ci          ]
4641cb0ef41Sopenharmony_ci        },
4651cb0ef41Sopenharmony_ci        {
4661cb0ef41Sopenharmony_ci          "sourceContextType": "sharedworker-module",
4671cb0ef41Sopenharmony_ci          "policyDeliveries": [
4681cb0ef41Sopenharmony_ci            "policy"
4691cb0ef41Sopenharmony_ci          ]
4701cb0ef41Sopenharmony_ci        }
4711cb0ef41Sopenharmony_ci      ],
4721cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4731cb0ef41Sopenharmony_ci    },
4741cb0ef41Sopenharmony_ci    "sharedworker-module-data": {
4751cb0ef41Sopenharmony_ci      "description": "data: shared workers should inherit its parent's policy.",
4761cb0ef41Sopenharmony_ci      "sourceContextList": [
4771cb0ef41Sopenharmony_ci        {
4781cb0ef41Sopenharmony_ci          "sourceContextType": "top",
4791cb0ef41Sopenharmony_ci          "policyDeliveries": [
4801cb0ef41Sopenharmony_ci            "policy"
4811cb0ef41Sopenharmony_ci          ]
4821cb0ef41Sopenharmony_ci        },
4831cb0ef41Sopenharmony_ci        {
4841cb0ef41Sopenharmony_ci          "sourceContextType": "sharedworker-module-data",
4851cb0ef41Sopenharmony_ci          "policyDeliveries": []
4861cb0ef41Sopenharmony_ci        }
4871cb0ef41Sopenharmony_ci      ],
4881cb0ef41Sopenharmony_ci      "subresourcePolicyDeliveries": []
4891cb0ef41Sopenharmony_ci    }
4901cb0ef41Sopenharmony_ci  },
4911cb0ef41Sopenharmony_ci  "test_expansion_schema": {
4921cb0ef41Sopenharmony_ci    "expansion": [
4931cb0ef41Sopenharmony_ci      "default",
4941cb0ef41Sopenharmony_ci      "override"
4951cb0ef41Sopenharmony_ci    ],
4961cb0ef41Sopenharmony_ci    "source_scheme": [
4971cb0ef41Sopenharmony_ci      "http",
4981cb0ef41Sopenharmony_ci      "https"
4991cb0ef41Sopenharmony_ci    ],
5001cb0ef41Sopenharmony_ci    "source_context_list": [
5011cb0ef41Sopenharmony_ci      "top",
5021cb0ef41Sopenharmony_ci      "req",
5031cb0ef41Sopenharmony_ci      "srcdoc-inherit",
5041cb0ef41Sopenharmony_ci      "srcdoc",
5051cb0ef41Sopenharmony_ci      "iframe",
5061cb0ef41Sopenharmony_ci      "iframe-blank-inherit",
5071cb0ef41Sopenharmony_ci      "worker-classic",
5081cb0ef41Sopenharmony_ci      "worker-classic-inherit",
5091cb0ef41Sopenharmony_ci      "worker-classic-data",
5101cb0ef41Sopenharmony_ci      "worker-module",
5111cb0ef41Sopenharmony_ci      "worker-module-inherit",
5121cb0ef41Sopenharmony_ci      "worker-module-data",
5131cb0ef41Sopenharmony_ci      "sharedworker-classic",
5141cb0ef41Sopenharmony_ci      "sharedworker-classic-data",
5151cb0ef41Sopenharmony_ci      "sharedworker-module",
5161cb0ef41Sopenharmony_ci      "sharedworker-module-data"
5171cb0ef41Sopenharmony_ci    ],
5181cb0ef41Sopenharmony_ci    "redirection": [
5191cb0ef41Sopenharmony_ci      "no-redirect",
5201cb0ef41Sopenharmony_ci      "keep-origin",
5211cb0ef41Sopenharmony_ci      "swap-origin",
5221cb0ef41Sopenharmony_ci      "keep-scheme",
5231cb0ef41Sopenharmony_ci      "swap-scheme",
5241cb0ef41Sopenharmony_ci      "downgrade"
5251cb0ef41Sopenharmony_ci    ],
5261cb0ef41Sopenharmony_ci    "origin": [
5271cb0ef41Sopenharmony_ci      "same-https",
5281cb0ef41Sopenharmony_ci      "same-http",
5291cb0ef41Sopenharmony_ci      "same-http-downgrade",
5301cb0ef41Sopenharmony_ci      "cross-https",
5311cb0ef41Sopenharmony_ci      "cross-http",
5321cb0ef41Sopenharmony_ci      "cross-http-downgrade",
5331cb0ef41Sopenharmony_ci      "same-wss",
5341cb0ef41Sopenharmony_ci      "same-ws",
5351cb0ef41Sopenharmony_ci      "same-ws-downgrade",
5361cb0ef41Sopenharmony_ci      "cross-wss",
5371cb0ef41Sopenharmony_ci      "cross-ws",
5381cb0ef41Sopenharmony_ci      "cross-ws-downgrade"
5391cb0ef41Sopenharmony_ci    ],
5401cb0ef41Sopenharmony_ci    "subresource": [
5411cb0ef41Sopenharmony_ci      "a-tag",
5421cb0ef41Sopenharmony_ci      "area-tag",
5431cb0ef41Sopenharmony_ci      "audio-tag",
5441cb0ef41Sopenharmony_ci      "beacon",
5451cb0ef41Sopenharmony_ci      "fetch",
5461cb0ef41Sopenharmony_ci      "iframe-tag",
5471cb0ef41Sopenharmony_ci      "img-tag",
5481cb0ef41Sopenharmony_ci      "link-css-tag",
5491cb0ef41Sopenharmony_ci      "link-prefetch-tag",
5501cb0ef41Sopenharmony_ci      "object-tag",
5511cb0ef41Sopenharmony_ci      "picture-tag",
5521cb0ef41Sopenharmony_ci      "script-tag",
5531cb0ef41Sopenharmony_ci      "sharedworker-classic",
5541cb0ef41Sopenharmony_ci      "sharedworker-import",
5551cb0ef41Sopenharmony_ci      "sharedworker-import-data",
5561cb0ef41Sopenharmony_ci      "sharedworker-module",
5571cb0ef41Sopenharmony_ci      "video-tag",
5581cb0ef41Sopenharmony_ci      "websocket",
5591cb0ef41Sopenharmony_ci      "worker-classic",
5601cb0ef41Sopenharmony_ci      "worker-import",
5611cb0ef41Sopenharmony_ci      "worker-import-data",
5621cb0ef41Sopenharmony_ci      "worker-module",
5631cb0ef41Sopenharmony_ci      "worklet-animation",
5641cb0ef41Sopenharmony_ci      "worklet-animation-import-data",
5651cb0ef41Sopenharmony_ci      "worklet-audio",
5661cb0ef41Sopenharmony_ci      "worklet-audio-import-data",
5671cb0ef41Sopenharmony_ci      "worklet-layout",
5681cb0ef41Sopenharmony_ci      "worklet-layout-import-data",
5691cb0ef41Sopenharmony_ci      "worklet-paint",
5701cb0ef41Sopenharmony_ci      "worklet-paint-import-data",
5711cb0ef41Sopenharmony_ci      "xhr"
5721cb0ef41Sopenharmony_ci    ]
5731cb0ef41Sopenharmony_ci  }
5741cb0ef41Sopenharmony_ci}
575