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 });