| <!doctype html> |
| <html> |
| <head> |
| <meta charset=utf-8> |
| <title>Test for default cookie path</title> |
| <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div id=log></div> |
| |
| <script> |
| var body = document.getElementsByTagName('body')[0]; |
| var createIframe = function (src, done) { |
| var iframe = document.createElement('iframe'); |
| iframe.src = src; |
| body.appendChild(iframe); |
| iframe.onload = function () { |
| done(iframe); |
| }; |
| }; |
| |
| async_test(function (t) { |
| var iframe; |
| var verify = t.step_func(function () { |
| assert_true( |
| !!iframe.contentWindow.isCookieSet('cookies-path-default'), |
| 'cookie can be retrieved from expected path' |
| ); |
| |
| // The default-path of this cookie must contain, "the characters of the |
| // uri-path from the first character up to, but not including, the |
| // right-most %x2F ("/")." |
| iframe.contentWindow.expireCookie( |
| 'cookies-path-default', '/cookies/resources' |
| ); |
| |
| // As of 2018-11-21, some UAs were observed to include the right-most %x2F |
| // character in violation of RFC6265. |
| t.add_cleanup(function () { |
| iframe.contentWindow.expireCookie( |
| 'cookies-path-default', '/cookies/resources/' |
| ); |
| }); |
| |
| assert_false( |
| !!iframe.contentWindow.isCookieSet('cookies-path-default'), |
| 'cookie can be referenced using the expected path' |
| ); |
| |
| t.done(); |
| }); |
| |
| createIframe('/cookies/resources/echo-cookie.html', t.step_func(function (_iframe) { |
| iframe = _iframe; |
| |
| createIframe('/cookies/resources/set.py?cookies-path-default=1', verify); |
| })); |
| }); |
| </script> |
| </body> |
| </html> |