worker-dedicated-constructor.https.sub.html (3461B)
1 <!DOCTYPE html> 2 <!-- 3 This test was procedurally generated. Please do not modify it directly. 4 Sources: 5 - fetch/metadata/tools/fetch-metadata.conf.yml 6 - fetch/metadata/tools/templates/worker-dedicated-constructor.sub.html 7 --> 8 <html lang="en"> 9 <meta charset="utf-8"> 10 <title>HTTP headers on request for dedicated worker via the "Worker" constructor</title> 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/fetch/metadata/resources/helper.sub.js"></script> 14 <script type="module"> 15 'use strict'; 16 function induceRequest(url, options) { 17 return new Promise((resolve, reject) => { 18 const worker = new Worker(url, options); 19 worker.onmessage = resolve; 20 worker.onerror = reject; 21 }); 22 } 23 24 promise_test(() => { 25 const key = '{{uuid()}}'; 26 const url = makeRequestURL( 27 key, 28 [], 29 { mime: 'application/javascript', body: 'postMessage("")' } 30 ); 31 32 return induceRequest(url) 33 .then(() => retrieve(key)) 34 .then((headers) => { 35 assert_own_property(headers, 'sec-fetch-mode'); 36 assert_array_equals(headers['sec-fetch-mode'], ['same-origin']); 37 }); 38 }, 'sec-fetch-mode - no options'); 39 40 promise_test(() => { 41 const key = '{{uuid()}}'; 42 const url = makeRequestURL( 43 key, 44 [], 45 { mime: 'application/javascript', body: 'postMessage("")' } 46 ); 47 48 return induceRequest(url, {"type": "module"}) 49 .then(() => retrieve(key)) 50 .then((headers) => { 51 assert_own_property(headers, 'sec-fetch-mode'); 52 assert_array_equals(headers['sec-fetch-mode'], ['same-origin']); 53 }); 54 }, 'sec-fetch-mode - options: type=module'); 55 56 promise_test(() => { 57 const key = '{{uuid()}}'; 58 const url = makeRequestURL( 59 key, 60 [], 61 { mime: 'application/javascript', body: 'postMessage("")' } 62 ); 63 64 return induceRequest(url) 65 .then(() => retrieve(key)) 66 .then((headers) => { 67 assert_own_property(headers, 'sec-fetch-dest'); 68 assert_array_equals(headers['sec-fetch-dest'], ['worker']); 69 }); 70 }, 'sec-fetch-dest - no options'); 71 72 promise_test(() => { 73 const key = '{{uuid()}}'; 74 const url = makeRequestURL( 75 key, 76 [], 77 { mime: 'application/javascript', body: 'postMessage("")' } 78 ); 79 80 return induceRequest(url, {"type": "module"}) 81 .then(() => retrieve(key)) 82 .then((headers) => { 83 assert_own_property(headers, 'sec-fetch-dest'); 84 assert_array_equals(headers['sec-fetch-dest'], ['worker']); 85 }); 86 }, 'sec-fetch-dest - options: type=module'); 87 88 promise_test(() => { 89 const key = '{{uuid()}}'; 90 const url = makeRequestURL( 91 key, 92 [], 93 { mime: 'application/javascript', body: 'postMessage("")' } 94 ); 95 96 return induceRequest(url) 97 .then(() => retrieve(key)) 98 .then((headers) => { 99 assert_not_own_property(headers, 'sec-fetch-user'); 100 }); 101 }, 'sec-fetch-user - no options'); 102 103 promise_test(() => { 104 const key = '{{uuid()}}'; 105 const url = makeRequestURL( 106 key, 107 [], 108 { mime: 'application/javascript', body: 'postMessage("")' } 109 ); 110 111 return induceRequest(url, {"type": "module"}) 112 .then(() => retrieve(key)) 113 .then((headers) => { 114 assert_not_own_property(headers, 'sec-fetch-user'); 115 }); 116 }, 'sec-fetch-user - options: type=module'); 117 </script> 118 </html>