| <!doctype html> | |
| <title>WebSockets: when to process set-cookie fields in ws response</title> | |
| <meta name=timeout content=long> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script src=../constants.js?pipe=sub></script> | |
| <div id=log></div> | |
| <script> | |
| var cookie_id = ((new Date())-0) + '.' + Math.random(); | |
| async_test(function(t) { | |
| t.add_cleanup(function() { | |
| // remove cookie | |
| document.cookie = 'ws_test_'+cookie_id+'; Path=/; Expires=Sun, 06 Nov 1994 08:49:37 GMT'; | |
| }); | |
| var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/set-cookie?'+cookie_id); | |
| ws.onopen = t.step_func(function(e) { | |
| ws.close(); | |
| assert_regexp_match(document.cookie, new RegExp('ws_test_'+cookie_id+'=test')); | |
| t.done(); | |
| }); | |
| ws.onerror = ws.onclose = t.step_func(function() {assert_unreached()}); | |
| // sleep for 2 seconds with sync xhr | |
| var sleep = new XMLHttpRequest(); | |
| sleep.open('GET', '/common/blank.html?pipe=trickle(d2)', false); | |
| sleep.send(null); | |
| if (new RegExp('ws_test_'+cookie_id+'=test').test(document.cookie)) { | |
| assert_unreached('cookie was set during script execution'); | |
| } | |
| }, null, {timeout:12000}); | |
| </script> |