diff --git a/browser/base/content/test/protectionsUI/trackingAPI.js b/browser/base/content/test/protectionsUI/trackingAPI.js index de5479a70f9af2..cf9f88f60260e6 100644 --- a/browser/base/content/test/protectionsUI/trackingAPI.js +++ b/browser/base/content/test/protectionsUI/trackingAPI.js @@ -58,7 +58,7 @@ onmessage = event => { case "image": createImage( // eslint-disable-next-line @microsoft/sdl/no-insecure-url - "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs?type=image-no-cookie" + "https://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs?type=image-no-cookie" ); break; case "window-open": diff --git a/toolkit/components/antitracking/test/browser/browser.ini b/toolkit/components/antitracking/test/browser/browser.ini index e7528c3c3ee189..e835622f0e1862 100644 --- a/toolkit/components/antitracking/test/browser/browser.ini +++ b/toolkit/components/antitracking/test/browser/browser.ini @@ -16,6 +16,8 @@ prefs = network.cookie.sameSite.laxByDefault=false # Disable https-first because of explicit http/https testing dom.security.https_first=false + # Enable constraining storage access api to secure contexts + dom.storage_access.dont_grant_insecure_contexts=true support-files = container.html diff --git a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js index 362d60bd624d82..6cb6689c64ccd5 100644 --- a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js +++ b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js @@ -200,8 +200,6 @@ var testCases = [ "privacy.partition.always_partition_third_party_non_cookie_storage", false, ], - // Testing Storage Access API grants constrained to secure contexts - ["dom.storage_access.dont_grant_insecure_contexts", true], ], expectedBlockingNotifications: 0, runInPrivateWindow: false, diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js b/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js index df1106903b5ab4..21c3c9637d4015 100644 --- a/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js +++ b/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js @@ -18,7 +18,13 @@ PartitionedStorageHelper.runTest( is(locks.length, 2, "We should have granted 2 lock requests at this point"); }, - /* cleanupFunction */ undefined, + async _ => { + await new Promise(resolve => { + Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value => + resolve() + ); + }); + }, /* extraPrefs */ undefined, { runInSecureContext: true } ); diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js b/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js index 812cbcffa425cd..5fca844dfeb960 100644 --- a/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js +++ b/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js @@ -428,7 +428,7 @@ PartitionedStorageHelper.runTest( ); is( res.value, - "http://not-tracking.example.com/browser/toolkit/components/antitracking/test/browser/empty.js", + "https://not-tracking.example.com/browser/toolkit/components/antitracking/test/browser/empty.js", "The first-party service worker received fetch event." ); res = await sendAndWaitWorkerMessage( @@ -463,7 +463,7 @@ PartitionedStorageHelper.runTest( ); is( res.value, - "http://not-tracking.example.com/browser/toolkit/components/antitracking/test/browser/empty.js", + "https://not-tracking.example.com/browser/toolkit/components/antitracking/test/browser/empty.js", "The third-party service worker received fetch event." ); }, diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js b/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js index 337d36b6e4a50b..97c58c52178a3f 100644 --- a/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js +++ b/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js @@ -44,7 +44,9 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode( resolve() ); }); - } + }, + [], + false ); PartitionedStorageHelper.runPartitioningTestInNormalAndPrivateMode( diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js b/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js index ba109768beb76f..9594fdf270b166 100644 --- a/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js +++ b/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js @@ -265,7 +265,7 @@ add_task(async function test_privilege_api_with_dFPI() { ); let browser = tab.linkedBrowser; - await insertSubFrame(browser, TEST_4TH_PARTY_PAGE, "test"); + await insertSubFrame(browser, TEST_4TH_PARTY_PAGE_HTTPS, "test"); // Verify that the third-party context doesn't have storage access at // beginning. @@ -282,7 +282,7 @@ add_task(async function test_privilege_api_with_dFPI() { }); let storagePermissionPromise = waitStoragePermission( - "http://not-tracking.example.com" + "https://not-tracking.example.com" ); // Verify if the prompt has been shown. @@ -299,7 +299,7 @@ add_task(async function test_privilege_api_with_dFPI() { try { await content.document.requestStorageAccessForOrigin( - "http://not-tracking.example.com/" + "https://not-tracking.example.com/" ); } catch (e) { ok(false, "The API shouldn't throw."); @@ -328,7 +328,7 @@ add_task(async function test_privilege_api_with_dFPI() { }); // Insert another third-party content iframe and check if it has storage access. - await insertSubFrame(browser, TEST_4TH_PARTY_PAGE, "test2"); + await insertSubFrame(browser, TEST_4TH_PARTY_PAGE_HTTPS, "test2"); await runScriptInSubFrame(browser, "test2", async _ => { await hasStorageAccessInitially(); @@ -350,7 +350,7 @@ add_task(async function test_privilege_api_with_dFPI() { is(document.cookie, "name=value", "Setting cookie to partitioned context."); }); - await clearStoragePermission("http://not-tracking.example.com"); + await clearStoragePermission("https://not-tracking.example.com"); Services.cookies.removeAll(); BrowserTestUtils.removeTab(tab); }); diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessRejectsInsecureContexts.js b/toolkit/components/antitracking/test/browser/browser_storageAccessRejectsInsecureContexts.js index ce864d1e78a721..942e4e3bc701e4 100644 --- a/toolkit/components/antitracking/test/browser/browser_storageAccessRejectsInsecureContexts.js +++ b/toolkit/components/antitracking/test/browser/browser_storageAccessRejectsInsecureContexts.js @@ -13,10 +13,6 @@ Services.scriptloader.loadSubScript( ); add_task(async function testInsecureContext() { - await SpecialPowers.pushPrefEnv({ - set: [["dom.storage_access.dont_grant_insecure_contexts", true]], - }); - await setPreferences(); await openPageAndRunCode( diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js index 5a8c7970c54282..6a31d53a0ef1a1 100644 --- a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js +++ b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js @@ -13,7 +13,7 @@ AntiTracking._createTask({ await callRequestStorageAccess(); const TRACKING_PAGE = - "http://another-tracking.example.net/browser/browser/base/content/test/protectionsUI/trackingPage.html"; + "https://another-tracking.example.net/browser/browser/base/content/test/protectionsUI/trackingPage.html"; async function runChecks(name) { let iframe = document.createElement("iframe"); iframe.src = TRACKING_PAGE; @@ -44,11 +44,11 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, + thirdPartyPage: TEST_3RD_PARTY_PAGE, errorMessageDomains: [ - "http://tracking.example.org", - "http://tracking.example.org", - "http://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", ], }); @@ -79,10 +79,10 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, + thirdPartyPage: TEST_3RD_PARTY_PAGE, errorMessageDomains: [ - "http://tracking.example.org", - "http://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", ], }); @@ -110,10 +110,10 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, + thirdPartyPage: TEST_3RD_PARTY_PAGE, errorMessageDomains: [ - "http://tracking.example.org", - "http://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", ], }); @@ -141,10 +141,10 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, + thirdPartyPage: TEST_3RD_PARTY_PAGE, errorMessageDomains: [ - "http://tracking.example.org", - "http://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", ], }); diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js index 1ba0b8923031aa..d5011c7e7fbd12 100644 --- a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js +++ b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js @@ -16,7 +16,7 @@ AntiTracking._createTask({ await callRequestStorageAccess(); const TRACKING_PAGE = - "http://another-tracking.example.net/browser/browser/base/content/test/protectionsUI/trackingPage.html"; + "https://another-tracking.example.net/browser/browser/base/content/test/protectionsUI/trackingPage.html"; async function runChecks(name) { let iframe = document.createElement("iframe"); iframe.src = TRACKING_PAGE; @@ -47,13 +47,13 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, + thirdPartyPage: TEST_3RD_PARTY_PAGE, errorMessageDomains: [ - "http://tracking.example.org", - "http://tracking.example.org", - "http://tracking.example.org", - "http://tracking.example.org", - "http://trackertest.org", + "https://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", + "https://tracking.example.org", + // "http://trackertest.org" does not show an error message since it is an insecure context ], }); @@ -84,8 +84,8 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, - errorMessageDomains: ["http://tracking.example.org"], + thirdPartyPage: TEST_3RD_PARTY_PAGE, + errorMessageDomains: ["https://tracking.example.org"], }); add_task(async _ => { @@ -112,8 +112,8 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, - errorMessageDomains: ["http://example.net", "http://tracking.example.org"], + thirdPartyPage: TEST_3RD_PARTY_PAGE, + errorMessageDomains: ["http://example.net", "https://tracking.example.org"], }); add_task(async _ => { @@ -140,8 +140,8 @@ AntiTracking._createTask({ iframeSandbox: null, accessRemoval: null, callbackAfterRemoval: null, - thirdPartyPage: TEST_3RD_PARTY_PAGE_HTTP, - errorMessageDomains: ["http://tracking.example.org"], + thirdPartyPage: TEST_3RD_PARTY_PAGE, + errorMessageDomains: ["https://tracking.example.org"], }); add_task(async _ => { diff --git a/toolkit/components/antitracking/test/browser/partitionedstorage_head.js b/toolkit/components/antitracking/test/browser/partitionedstorage_head.js index 42574fdb934741..d37b8177c4dc6e 100644 --- a/toolkit/components/antitracking/test/browser/partitionedstorage_head.js +++ b/toolkit/components/antitracking/test/browser/partitionedstorage_head.js @@ -13,14 +13,22 @@ Services.scriptloader.loadSubScript( ); this.PartitionedStorageHelper = { - runTestInNormalAndPrivateMode(name, callback, cleanupFunction, extraPrefs) { + runTestInNormalAndPrivateMode( + name, + callback, + cleanupFunction, + extraPrefs, + runInSecure = true + ) { // Normal mode this.runTest(name, callback, cleanupFunction, extraPrefs, { + runInSecureContext: runInSecure, runInPrivateWindow: false, }); // Private mode this.runTest(name, callback, cleanupFunction, extraPrefs, { + runInSecureContext: runInSecure, runInPrivateWindow: true, }); }, @@ -30,7 +38,7 @@ this.PartitionedStorageHelper = { callback, cleanupFunction, extraPrefs, - { runInPrivateWindow = false, runInSecureContext = false } = {} + { runInPrivateWindow = false, runInSecureContext = true } = {} ) { DynamicFPIHelper.runTest( name,