early-hints-response-time.h2.html (1152B)
1 <!DOCTYPE html> 2 <head> 3 <meta charset="utf-8"> 4 <meta name="timeout" content="long"> 5 <script src="/common/utils.js"></script> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 </head> 9 <body> 10 <script> 11 promise_test(async t => { 12 const iframe = document.createElement("iframe"); 13 const params = new URLSearchParams(); 14 const delays = [200, 100, 150]; 15 params.set("delay1", delays[0]); 16 params.set("delay2", delays[1]); 17 18 iframe.src = `resources/early-hints-delay.h2.py?${params.toString()}`; 19 document.body.appendChild(iframe); 20 t.add_cleanup(() => iframe.remove()); 21 await new Promise(resolve => iframe.addEventListener("load", resolve)); 22 const [entry] = iframe.contentWindow.performance.getEntriesByType("navigation"); 23 assert_greater_than(entry.firstInterimResponseStart, entry.requestStart + delays[0]); 24 assert_greater_than(entry.finalResponseHeadersStart, entry.firstInterimResponseStart + delays[1]); 25 assert_equals(entry.responseStart, entry.firstInterimResponseStart); 26 }, `Interim response times should correspond to delays (h2)`); 27 </script> 28 </body>