embed.https.sub.tentative.html (2237B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"/> 3 <link rel="author" href="mtrzos@google.com" title="Maciek Trzos"> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 <script src=/fetch/metadata/resources/helper.js></script> 7 <script src=/common/utils.js></script> 8 <body> 9 10 <p>Relevant issue: <a href="https://github.com/whatwg/html/issues/513"> 11 <embed> should support loading random HTML documents, like <object> 12 </a></p> 13 14 <script> 15 const nonce = token(); 16 17 const origins = { 18 "same-origin": "https://{{host}}:{{ports[https][0]}}", 19 "same-site": "https://{{hosts[][www]}}:{{ports[https][0]}}", 20 "cross-site": "https://{{hosts[alt][www]}}:{{ports[https][0]}}", 21 }; 22 23 for (let site in origins) { 24 promise_test(t => { 25 return new Promise((resolve, reject) => { 26 let key = "embed-" + site + "-" + nonce; 27 28 let el = document.createElement('embed'); 29 el.src = origins[site] + "/fetch/metadata/resources/record-header.py?file=" + key; 30 el.onload = _ => { 31 let expected = {"dest": "embed", "site": site, "user": "", "mode": "navigate"}; 32 validate_expectations(key, expected, site + " embed") 33 .then(resolve) 34 .catch(reject); 35 }; 36 37 document.body.appendChild(el); 38 }) 39 }, "Wrapper: " + site + " embed"); 40 41 promise_test(t => { 42 return new Promise((resolve, reject) => { 43 let key = "post-embed-" + site + "-" + nonce; 44 45 let el = document.createElement('embed'); 46 el.src = "/common/blank.html"; 47 el.addEventListener("load", _ => { 48 el.addEventListener("load", _ => { 49 let expected = {"dest": "embed", "site": site, "user":"", "mode":"navigate"}; 50 validate_expectations(key, expected, "Navigate to " + site + " embed") 51 .then(resolve) 52 .catch(reject); 53 }, { once: true }); 54 55 // Navigate the existing `<embed>` 56 window.frames[window.length - 1].location = origins[site] + "/fetch/metadata/resources/record-header.py?file=" + key; 57 }, { once: true }); 58 59 document.body.appendChild(el); 60 }) 61 }, "Wrapper: Navigate to " + site + " embed"); 62 } 63 </script>