same-origin-cookies.https.html (3083B)
1 <!DOCTYPE html> 2 <meta name="timeout" content="long"> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="/resources/testdriver.js"></script> 6 <script src='/resources/testdriver-vendor.js'></script> 7 <script src="/common/dispatcher/dispatcher.js"></script> 8 <script src="/common/subset-tests.js"></script> 9 <script src="/common/utils.js"></script> 10 <script src="../resources/utils.js"></script> 11 <script src="resources/utils.sub.js"></script> 12 13 <!--Split test cases due to the use of timeouts in speculation rules test utilities.--> 14 <meta name="variant" content="?1-1"> 15 <meta name="variant" content="?2-last"> 16 17 <script> 18 setup(() => assertSpeculationRulesIsSupported()); 19 20 subsetTest(promise_test, async t => { 21 await test_driver.delete_all_cookies(); 22 23 let executor = 'cookies.py'; 24 let agent = await spawnWindow(t, { executor }); 25 let response_cookies = await agent.getResponseCookies(); 26 let request_cookies = await agent.getRequestCookies(); 27 assert_equals(request_cookies["count"], undefined); 28 assert_equals(request_cookies["type"], undefined); 29 assert_equals(response_cookies["count"], "1"); 30 assert_equals(response_cookies["type"], "navigate"); 31 32 let nextUrl = agent.getExecutorURL({ executor, page: 2 }); 33 await agent.forceSinglePrefetch(nextUrl); 34 await agent.navigate(nextUrl); 35 36 response_cookies = await agent.getResponseCookies(); 37 request_cookies = await agent.getRequestCookies(); 38 assert_equals(request_cookies["count"], "1"); 39 assert_equals(request_cookies["type"], "navigate"); 40 assert_equals(response_cookies["count"], "2"); 41 assert_equals(response_cookies["type"], "prefetch"); 42 43 assert_prefetched(await agent.getRequestHeaders()); 44 }, "speculation rules based prefetch should use cookies for same origin urls."); 45 46 // Regression test for https://crbug.com/1524338 47 subsetTest(promise_test, async t => { 48 await test_driver.delete_all_cookies(); 49 50 let executor = 'cookies.py'; 51 let agent = await spawnWindow(t, { executor }); 52 let response_cookies = await agent.getResponseCookies(); 53 let request_cookies = await agent.getRequestCookies(); 54 assert_equals(request_cookies["count"], undefined); 55 assert_equals(request_cookies["type"], undefined); 56 assert_equals(response_cookies["count"], "1"); 57 assert_equals(response_cookies["type"], "navigate"); 58 59 await agent.setReferrerPolicy("no-referrer"); 60 61 let nextUrl = agent.getExecutorURL({ executor, page: 2 }); 62 await agent.forceSinglePrefetch(nextUrl); 63 await agent.navigate(nextUrl); 64 65 response_cookies = await agent.getResponseCookies(); 66 request_cookies = await agent.getRequestCookies(); 67 assert_equals(request_cookies["count"], "1"); 68 assert_equals(request_cookies["type"], "navigate"); 69 assert_equals(response_cookies["count"], "2"); 70 assert_equals(response_cookies["type"], "prefetch"); 71 72 assert_prefetched(await agent.getRequestHeaders()); 73 }, "same origin prefetch with no referrer works when cookies are present."); 74 </script>