007.html (1314B)
1 <!doctype html> 2 <title>WebSockets: when to process set-cookie fields in ws response</title> 3 <meta name=timeout content=long> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 <script src=../constants.sub.js></script> 7 <meta name="variant" content="?default"> 8 <meta name="variant" content="?wss&wpt_flags=https"> 9 <meta name="variant" content="?wpt_flags=h2"> 10 <div id=log></div> 11 <script> 12 var cookie_id = ((new Date())-0) + '.' + Math.random(); 13 async_test(function(t) { 14 t.add_cleanup(function() { 15 // remove cookie 16 document.cookie = 'ws_test_'+cookie_id+'; Path=/; Expires=Sun, 06 Nov 1994 08:49:37 GMT'; 17 }); 18 var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/set-cookie?'+cookie_id); 19 ws.onopen = t.step_func(function(e) { 20 ws.close(); 21 ws.onclose = null; 22 assert_regexp_match(document.cookie, new RegExp('ws_test_'+cookie_id+'=test')); 23 t.done(); 24 }); 25 ws.onerror = ws.onclose = t.step_func(function() {assert_unreached()}); 26 27 // sleep for 2 seconds with sync xhr 28 var sleep = new XMLHttpRequest(); 29 sleep.open('GET', '/common/blank.html?pipe=trickle(d2)', false); 30 sleep.send(null); 31 32 if (new RegExp('ws_test_'+cookie_id+'=test').test(document.cookie)) { 33 assert_unreached('cookie was set during script execution'); 34 } 35 }); 36 </script>