tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cookies.http.html (1492B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <body>
      6 <p>Derived from historical testcase for <a href="http://bugs.webkit.org/show_bug.cgi?id=3420">WebKit bug 3420</a>:
      7 XMLHttpRequest does not handle set-cookie headers.</p>
      8 
      9 <script>
     10    function clearCookies()
     11    {
     12      return new Promise(resolve => {
     13        var req = new XMLHttpRequest;
     14        req.open("POST", "resources/get-set-cookie.py?clear=1");
     15        req.onload = () => resolve();
     16        req.send("");
     17      });
     18    }
     19    function getAndSetCookies()
     20    {
     21      return new Promise(resolve => {
     22        var req = new XMLHttpRequest;
     23        req.open("POST", "resources/get-set-cookie.py");
     24        req.onload = () => resolve(req.responseText);
     25        req.send("");
     26      });
     27    }
     28 
     29    promise_test(async function(t) {
     30      await clearCookies();
     31      var response = await getAndSetCookies();
     32      assert_equals(response.match(/.*WK-test=1.*/), null,
     33                    "The cookie must not be present after clear. clearCookies() failed.  Must be a bug in the test!");
     34      var response = await getAndSetCookies();
     35      assert_equals(response.match(/.*WK-test-secure=1.*/), null,
     36                    "a secure cookie was sent via HTTP");
     37      assert_regexp_match(response, /.*WK-test=1.*/, "an insecure cookie was sent");
     38      await clearCookies();
     39    }, "Basic non-cross-site cookie handling in XHR");
     40 </script>
     41 </html>