setup(_ => { const meta = document.createElement("meta"); meta.httpEquiv = "content-security-policy"; meta.content = "img-src http://*:{{ports[http][0]}}"; document.head.appendChild(meta); }); async_test((t) => { const img = document.createElement("img"); img.onerror = t.step_func_done(); img.onload = t.unreached_func("`data:` image should have been blocked."); img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" }, "Host wildcard doesn't affect scheme matching."); async_test((t) => { const img = document.createElement("img"); img.onload = t.step_func_done(); img.onerror = t.unreached_func("Image from www2 host should have loaded."); img.src = "http://{{domains[www1]}}:{{ports[http][0]}}/content-security-policy/support/pass.png"; }, "Host wildcard allows arbitrary hosts (www1)."); async_test((t) => { const img = document.createElement("img"); img.onload = t.step_func_done(); img.onerror = t.unreached_func("Image from www2 host should have loaded."); img.src = "http://{{domains[www2]}}:{{ports[http][0]}}/content-security-policy/support/pass.png"; }, "Host wildcard allows arbitrary hosts (www2).");