OLD | NEW |
(Empty) | |
| 1 { |
| 2 "specification": [ |
| 3 { |
| 4 "name": "optionally-blockable", |
| 5 "title": "Optionally-blockable content", |
| 6 "description": "Test behavior of optionally-blockable content", |
| 7 "specification_url": "http://www.w3.org/TR/mixed-content/#category-optiona
lly-blockable", |
| 8 "test_expansion": [ |
| 9 { |
| 10 "name": "opt-in-blocks", |
| 11 "expansion": "default", |
| 12 "source_scheme": "https", |
| 13 "opt_in_method": ["http-csp", "meta-csp"], |
| 14 "context_nesting": "top-level", |
| 15 "redirection": "*", |
| 16 "subresource": { |
| 17 "blockable": [], |
| 18 "optionally-blockable": "*" |
| 19 }, |
| 20 "origin": ["cross-origin-http", "same-host-http"], |
| 21 "expectation": "blocked" |
| 22 }, |
| 23 { |
| 24 "name": "no-opt-in-allows", |
| 25 "expansion": "default", |
| 26 "source_scheme": "https", |
| 27 "opt_in_method": "no-opt-in", |
| 28 "context_nesting": "top-level", |
| 29 "redirection": "*", |
| 30 "subresource": { |
| 31 "blockable": [], |
| 32 "optionally-blockable": "*" |
| 33 }, |
| 34 "origin": ["cross-origin-http", "same-host-http"], |
| 35 "expectation": "allowed" |
| 36 } |
| 37 ] |
| 38 }, |
| 39 { |
| 40 "name": "blockable", |
| 41 "title": "Blockable content", |
| 42 "description": "Test behavior of blockable content.", |
| 43 "specification_url": "http://www.w3.org/TR/mixed-content/#category-blockab
le", |
| 44 "test_expansion": [ |
| 45 { |
| 46 "name": "opt-in-blocks", |
| 47 "expansion": "default", |
| 48 "source_scheme": "https", |
| 49 "opt_in_method": ["http-csp", "meta-csp"], |
| 50 "context_nesting": "top-level", |
| 51 "redirection": "*", |
| 52 "subresource": { |
| 53 "blockable": "*", |
| 54 "optionally-blockable": [] |
| 55 }, |
| 56 "origin": ["cross-origin-http", "same-host-http"], |
| 57 "expectation": "blocked" |
| 58 }, |
| 59 { |
| 60 "name": "no-opt-in-blocks", |
| 61 "expansion": "default", |
| 62 "source_scheme": "https", |
| 63 "opt_in_method": "no-opt-in", |
| 64 "context_nesting": "top-level", |
| 65 "redirection": "*", |
| 66 "subresource": { |
| 67 "blockable": "*", |
| 68 "optionally-blockable": [] |
| 69 }, |
| 70 "origin": ["cross-origin-http", "same-host-http"], |
| 71 "expectation": "blocked" |
| 72 }, |
| 73 { |
| 74 "name": "ws-downgrade-blocks", |
| 75 "expansion": "default", |
| 76 "source_scheme": "https", |
| 77 "opt_in_method": ["no-opt-in", "http-csp", "meta-csp"], |
| 78 "context_nesting": "top-level", |
| 79 "redirection": "*", |
| 80 "subresource": { |
| 81 "blockable": "websocket-request", |
| 82 "optionally-blockable": [] |
| 83 }, |
| 84 "origin": ["cross-origin-ws", "same-host-ws"], |
| 85 "expectation": "blocked" |
| 86 } |
| 87 ] |
| 88 }, |
| 89 { |
| 90 "name": "allowed", |
| 91 "title": "Allowed content", |
| 92 "description": "Test behavior of allowed content.", |
| 93 "specification_url": "http://www.w3.org/TR/mixed-content/", |
| 94 "test_expansion": [ |
| 95 { |
| 96 "name": "allowed", |
| 97 "expansion": "default", |
| 98 "source_scheme": "https", |
| 99 "opt_in_method": "*", |
| 100 "context_nesting": "top-level", |
| 101 "redirection": ["no-redirect", "keep-scheme-redirect"], |
| 102 "subresource": { |
| 103 "blockable": "*", |
| 104 "optionally-blockable": "*" |
| 105 }, |
| 106 "origin": ["same-host-https"], |
| 107 "expectation": "allowed" |
| 108 }, |
| 109 { |
| 110 "name": "websocket-allowed", |
| 111 "expansion": "default", |
| 112 "source_scheme": "https", |
| 113 "opt_in_method": "*", |
| 114 "context_nesting": "top-level", |
| 115 "redirection": ["no-redirect", "keep-scheme-redirect"], |
| 116 "subresource": { |
| 117 "blockable": "websocket-request", |
| 118 "optionally-blockable": [] |
| 119 }, |
| 120 "origin": ["same-host-wss"], |
| 121 "expectation": "allowed" |
| 122 } |
| 123 ] |
| 124 } |
| 125 ], |
| 126 |
| 127 "excluded_tests": [ |
| 128 { |
| 129 "name": "Redundant-subresources", |
| 130 "expansion": "*", |
| 131 "source_scheme": "*", |
| 132 "opt_in_method": "*", |
| 133 "context_nesting": "*", |
| 134 "redirection": "*", |
| 135 "subresource": { |
| 136 "blockable": [ |
| 137 "a-tag" |
| 138 ], |
| 139 "optionally-blockable": [] |
| 140 }, |
| 141 "origin": "*", |
| 142 "expectation": "*" |
| 143 }, |
| 144 { |
| 145 "name": "Skip-origins-not-applicable-to-websockets", |
| 146 "expansion": "*", |
| 147 "source_scheme": "*", |
| 148 "opt_in_method": "*", |
| 149 "context_nesting": "*", |
| 150 "redirection": "*", |
| 151 "subresource": { |
| 152 "blockable": [ |
| 153 "websocket-request" |
| 154 ], |
| 155 "optionally-blockable": [] |
| 156 }, |
| 157 "origin": [ |
| 158 "same-host-https", |
| 159 "same-host-http", |
| 160 "cross-origin-https", |
| 161 "cross-origin-http" |
| 162 ], |
| 163 "expectation": "*" |
| 164 }, |
| 165 { |
| 166 "name": "TODO-opt-in-method-img-cross-origin", |
| 167 "expansion": "*", |
| 168 "source_scheme": "*", |
| 169 "opt_in_method": "img-crossorigin", |
| 170 "context_nesting": "*", |
| 171 "redirection": "*", |
| 172 "subresource": { |
| 173 "blockable": "*", |
| 174 "optionally-blockable": "*" |
| 175 }, |
| 176 "origin": "*", |
| 177 "expectation": "*" |
| 178 }, |
| 179 { |
| 180 "name": "Skip-redundant-for-opt-in-method", |
| 181 "expansion": "*", |
| 182 "source_scheme": "*", |
| 183 "opt_in_method": [ |
| 184 "meta-csp", |
| 185 "img-crossorigin" |
| 186 ], |
| 187 "context_nesting": "*", |
| 188 "redirection": ["keep-scheme-redirect", "swap-scheme-redirect"], |
| 189 "subresource": { |
| 190 "blockable": "*", |
| 191 "optionally-blockable": "*" |
| 192 }, |
| 193 "origin": "*", |
| 194 "expectation": "*" |
| 195 } |
| 196 ], |
| 197 |
| 198 "test_expansion_schema": { |
| 199 "expansion": [ |
| 200 "default", |
| 201 "override" |
| 202 ], |
| 203 "source_scheme": [ |
| 204 "http", |
| 205 "https" |
| 206 ], |
| 207 "opt_in_method": [ |
| 208 "no-opt-in", |
| 209 "http-csp", |
| 210 "meta-csp", |
| 211 "img-crossorigin" |
| 212 ], |
| 213 "redirection": [ |
| 214 "no-redirect", |
| 215 "keep-scheme-redirect", |
| 216 "swap-scheme-redirect" |
| 217 ], |
| 218 "context_nesting": [ |
| 219 "top-level", |
| 220 "sub-level" |
| 221 ], |
| 222 "origin": [ |
| 223 "same-host-https", |
| 224 "same-host-http", |
| 225 "cross-origin-https", |
| 226 "cross-origin-http", |
| 227 "same-host-wss", |
| 228 "same-host-ws", |
| 229 "cross-origin-wss", |
| 230 "cross-origin-ws" |
| 231 ], |
| 232 "subresource": { |
| 233 "blockable": [ |
| 234 "iframe-tag", |
| 235 "script-tag", |
| 236 "link-css-tag", |
| 237 "form-tag", |
| 238 "xhr-request", |
| 239 "worker-request", |
| 240 "fetch-request", |
| 241 "a-tag", |
| 242 "object-tag", |
| 243 "picture-tag", |
| 244 "websocket-request" |
| 245 ], |
| 246 "optionally-blockable": [ |
| 247 "img-tag", |
| 248 "audio-tag", |
| 249 "video-tag", |
| 250 "link-prefetch-tag" |
| 251 ] |
| 252 }, |
| 253 "expectation": [ |
| 254 "allowed", |
| 255 "blocked" |
| 256 ] |
| 257 } |
| 258 } |
OLD | NEW |