cookieStore_delete.sub.https.html (1793B)
1 <!doctype html> 2 <meta charset='utf-8'> 3 <title>Async Cookies: cookieStore basic API across origins</title> 4 <link rel='help' href='https://cookiestore.spec.whatwg.org/'> 5 <link rel='author' href='jarrydg@chromium.org' title='Jarryd Goodman'> 6 <script src='/resources/testharness.js'></script> 7 <script src='/resources/testharnessreport.js'></script> 8 <script src='resources/helpers.js'></script> 9 <style>iframe { display: none; }</style> 10 11 <script> 12 'use strict'; 13 14 const kPath = '/cookiestore/resources/helper_iframe.sub.html'; 15 const kCorsBase = `https://{{domains[www1]}}:{{ports[https][0]}}`; 16 const kCorsUrl = `${kCorsBase}${kPath}`; 17 18 promise_test(async t => { 19 const iframe = await createIframe(kCorsUrl, t); 20 assert_true(iframe != null); 21 22 iframe.contentWindow.postMessage({ 23 opname: 'set-cookie-without-domain-attr', 24 name: 'cookie-name', 25 value: 'cookie-value', 26 }, kCorsBase); 27 t.add_cleanup(async () => { 28 await cookieStore.delete({ name: 'cookie-name', domain: '{{host}}' }); 29 }); 30 await waitForMessage(); 31 32 iframe.contentWindow.postMessage({ 33 opname: 'get-cookie', 34 name: 'cookie-name', 35 options: {} 36 }, '*'); 37 38 { 39 const message = await waitForMessage(); 40 const { frameCookie } = message; 41 assert_not_equals(frameCookie, null); 42 assert_equals(frameCookie.name, 'cookie-name'); 43 assert_equals(frameCookie.value, 'cookie-value'); 44 } 45 46 iframe.contentWindow.postMessage({ 47 opname: 'delete-cookie-without-domain-attr', 48 name: 'cookie-name', 49 }, kCorsBase); 50 51 await waitForMessage(); 52 53 iframe.contentWindow.postMessage({ 54 opname: 'get-cookie', 55 name: 'cookie-name', 56 options: {} 57 }, '*'); 58 59 { 60 const message = await waitForMessage(); 61 const { frameCookie } = message; 62 assert_equals(frameCookie, null); 63 } 64 }); 65 </script>