| <!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> |