tor-browser

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

browser_test_favicon.js (1050B)


      1 // Tests third party cookie blocking using a favicon loaded from a different
      2 // domain. The cookie should be considered third party.
      3 "use strict";
      4 add_task(async function () {
      5  await SpecialPowers.pushPrefEnv({
      6    set: [["test.wait300msAfterTabSwitch", true]],
      7  });
      8 
      9  const iconUrl =
     10    "http://example.org/browser/netwerk/test/browser/damonbowling.jpg";
     11  const pageUrl =
     12    "http://example.com/browser/netwerk/test/browser/file_favicon.html";
     13  await SpecialPowers.pushPrefEnv({
     14    set: [
     15      ["network.cookie.cookieBehavior", 1],
     16      ["dom.security.https_first", false],
     17    ],
     18  });
     19 
     20  let promise = TestUtils.topicObserved("cookie-rejected", subject => {
     21    let uri = subject.QueryInterface(Ci.nsIURI);
     22    return uri.spec == iconUrl;
     23  });
     24 
     25  // Kick off a page load that will load the favicon.
     26  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, pageUrl);
     27  registerCleanupFunction(async function () {
     28    BrowserTestUtils.removeTab(tab);
     29  });
     30 
     31  await promise;
     32  ok(true, "foreign favicon cookie was blocked");
     33 });