summaryrefslogtreecommitdiffstats
path: root/toolkit/components/antitracking
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /toolkit/components/antitracking
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/antitracking')
-rw-r--r--toolkit/components/antitracking/ContentBlockingAllowList.cpp69
-rw-r--r--toolkit/components/antitracking/ContentBlockingAllowList.h56
-rw-r--r--toolkit/components/antitracking/ContentBlockingAllowList.sys.mjs2
-rw-r--r--toolkit/components/antitracking/PurgeTrackerService.sys.mjs2
-rw-r--r--toolkit/components/antitracking/URLDecorationAnnotationsService.sys.mjs2
-rw-r--r--toolkit/components/antitracking/URLQueryStringStripper.cpp4
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp123
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.h28
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.cpp13
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.h15
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.cpp17
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.h6
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.cpp32
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.h11
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl4
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_purge.js66
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/test_bouncetracking_clearExpiredUserActivation.js85
-rw-r--r--toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/xpcshell.toml2
-rw-r--r--toolkit/components/antitracking/test/browser/3rdPartySVG.html2
-rw-r--r--toolkit/components/antitracking/test/browser/3rdPartyWorker.html2
-rw-r--r--toolkit/components/antitracking/test/browser/antitracking_head.js12
-rw-r--r--toolkit/components/antitracking/test/browser/blobPartitionPage.html2
-rw-r--r--toolkit/components/antitracking/test/browser/browser-blocking.toml6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_aboutblank.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_addonHostPermissionIgnoredInTP.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_allowListNotifications.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_allowListNotifications_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_allowListSeparationInPrivateAndNormalWindows.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_allowPermissionForTracker.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_backgroundImageAssertion.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingCookies.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingDOMCache.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartitionSAA.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingDOMCacheSAA.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingIndexedDb.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers2.js10
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingLocalStorage.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingMessaging.js20
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingNoOpener.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingServiceWorkers.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingServiceWorkersStorageAccessAPI.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingSessionStorage.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_blockingSharedWorkers.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_contentBlockingAllowListPrincipal.js14
-rw-r--r--toolkit/components/antitracking/test/browser/browser_contentBlockingTelemetry.js3
-rw-r--r--toolkit/components/antitracking/test/browser/browser_cookieBetweenTabs.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_denyPermissionForTracker.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_doublyNestedTracker.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_existingCookiesForSubresources.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_firstPartyCookieRejectionHonoursAllowList.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_hasStorageAccess_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_localStorageEvents.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_onModifyRequestNotificationForTrackingResources.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedConsoleMessage.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedCookies.js20
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedDOMCache.js14
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedIndexedDB.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage_events.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedMessaging.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js40
-rw-r--r--toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js4
-rw-r--r--toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows.js5
-rw-r--r--toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows_alwaysPartition.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_permissionPropagation.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_script.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js8
-rw-r--r--toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_staticPartition_cache.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_staticPartition_network.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_staticPartition_saveAs.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_staticPartition_tls_session.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessDoorHanger.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessPromiseResolveHandlerUserInteraction.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed_alwaysPartition.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js6
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessWithDynamicFpi.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js22
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Arguments.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookieBehavior.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookiePermission.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CrossOriginSameSite.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Doorhanger.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Embed.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Enable.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_RequireIntermediatePermission.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_StorageAccessPermission.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_UserActivation.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_subResources.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_thirdPartyStorageRejectionForCORS.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_urlDecorationStripping.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_urlDecorationStripping_alwaysPartition.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_allowList.js2
-rw-r--r--toolkit/components/antitracking/test/browser/browser_userInteraction.js8
-rw-r--r--toolkit/components/antitracking/test/browser/browser_workerPropagation.js2
-rw-r--r--toolkit/components/antitracking/test/browser/file_saveAsPageInfo.html4
-rw-r--r--toolkit/components/antitracking/test/browser/head.js2
-rw-r--r--toolkit/components/antitracking/test/browser/imageCacheWorker.js2
-rw-r--r--toolkit/components/antitracking/test/browser/localStorage.html2
-rw-r--r--toolkit/components/antitracking/test/browser/partitionedstorage_head.js17
-rw-r--r--toolkit/components/antitracking/test/browser/storage_access_head.js2
-rw-r--r--toolkit/components/antitracking/test/browser/tracker.js2
-rw-r--r--toolkit/components/antitracking/test/browser/workerIframe.html2
-rw-r--r--toolkit/components/antitracking/test/xpcshell/test_staticPartition_authhttp.js2
-rw-r--r--toolkit/components/antitracking/test/xpcshell/test_staticPartition_prefetch.js2
-rw-r--r--toolkit/components/antitracking/test/xpcshell/test_staticPartition_preload.js2
-rw-r--r--toolkit/components/antitracking/test/xpcshell/xpcshell.toml7
126 files changed, 706 insertions, 289 deletions
diff --git a/toolkit/components/antitracking/ContentBlockingAllowList.cpp b/toolkit/components/antitracking/ContentBlockingAllowList.cpp
index 25806cd1e7..660906a49c 100644
--- a/toolkit/components/antitracking/ContentBlockingAllowList.cpp
+++ b/toolkit/components/antitracking/ContentBlockingAllowList.cpp
@@ -17,7 +17,9 @@
#include "nsICookieJarSettings.h"
#include "nsIHttpChannel.h"
#include "nsIHttpChannelInternal.h"
+#include "nsIPermission.h"
#include "nsNetUtil.h"
+#include "nsString.h"
using namespace mozilla;
@@ -255,3 +257,70 @@ nsresult ContentBlockingAllowList::Check(
returnInputArgument.release();
principal.forget(aPrincipal);
}
+
+// ContentBlockingAllowListCache
+
+nsresult ContentBlockingAllowListCache::CheckForBaseDomain(
+ const nsACString& aBaseDomain, const OriginAttributes& aOriginAttributes,
+ bool& aIsAllowListed) {
+ MOZ_ASSERT(XRE_IsParentProcess());
+ NS_ENSURE_TRUE(!aBaseDomain.IsEmpty(), NS_ERROR_INVALID_ARG);
+ aIsAllowListed = false;
+
+ // Ensure we have the permission list.
+ nsresult rv = EnsureInit();
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ if (aOriginAttributes.mPrivateBrowsingId > 0) {
+ aIsAllowListed = mEntriesPrivateBrowsing.Contains(aBaseDomain);
+ } else {
+ aIsAllowListed = mEntries.Contains(aBaseDomain);
+ }
+
+ return NS_OK;
+}
+
+nsresult ContentBlockingAllowListCache::EnsureInit() {
+ MOZ_ASSERT(XRE_IsParentProcess());
+
+ if (mIsInitialized) {
+ return NS_OK;
+ }
+ mIsInitialized = true;
+
+ // 1. Get all permissions representing allow-list entries.
+ PermissionManager* permManager = PermissionManager::GetInstance();
+ NS_ENSURE_TRUE(permManager, NS_ERROR_FAILURE);
+
+ nsTArray<nsCString> types;
+ types.AppendElement("trackingprotection");
+ types.AppendElement("trackingprotection-pb");
+
+ nsTArray<RefPtr<nsIPermission>> permissions;
+ nsresult rv = permManager->GetAllByTypes(types, permissions);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // 2. Populate mEntries and mEntriesPrivateBrowsing from permission list for
+ // faster lookup.
+ for (auto& permission : permissions) {
+ MOZ_ASSERT(permission);
+
+ nsCOMPtr<nsIPrincipal> principal;
+ rv = permission->GetPrincipal(getter_AddRefs(principal));
+ NS_ENSURE_SUCCESS(rv, rv);
+ MOZ_ASSERT(principal);
+
+ nsAutoCString baseDomain;
+ rv = principal->GetBaseDomain(baseDomain);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // Sort base domains into sets for normal / private browsing.
+ if (principal->OriginAttributesRef().mPrivateBrowsingId > 0) {
+ mEntriesPrivateBrowsing.Insert(baseDomain);
+ } else {
+ mEntries.Insert(baseDomain);
+ }
+ }
+
+ return NS_OK;
+}
diff --git a/toolkit/components/antitracking/ContentBlockingAllowList.h b/toolkit/components/antitracking/ContentBlockingAllowList.h
index 2601173db7..1db29f3e35 100644
--- a/toolkit/components/antitracking/ContentBlockingAllowList.h
+++ b/toolkit/components/antitracking/ContentBlockingAllowList.h
@@ -9,6 +9,8 @@
#include "mozilla/dom/BrowsingContext.h"
#include "nsIContentBlockingAllowList.h"
+#include "nsIPermission.h"
+#include "nsTHashSet.h"
class nsICookieJarSettings;
class nsIHttpChannel;
@@ -19,7 +21,59 @@ class nsPIDOMWindowInner;
namespace mozilla {
class OriginAttributes;
-struct ContentBlockingAllowListCache;
+
+/**
+ * @class ContentBlockingAllowListCache
+ *
+ * @brief This class represents a cache for the content blocking allow list. It
+ * is used for repeated lookups of the allow list for a specific base
+ * domain. Only use it if you need base domain lookups. In most cases
+ * this is not what you want. For regular allow-list checks by principal
+ * please use ContentBlockingAllowList.
+ */
+class ContentBlockingAllowListCache final {
+ public:
+ /**
+ * @brief Checks if a given base domain is allow-listed. This method considers
+ * the domain to be allow list if either the base domain or any of its
+ * subdomains are allow-listed.
+ * This is different from regular allow-list checks,
+ * @see{ContentBlockingAllowList::Check} where allow-listed state is only
+ * inherited to subdomains if the base domain is allow-listed.
+ *
+ * Example:
+ * If "example.com" is allow-listed, then "www.example.com" is also
+ * considered allow-listed.
+ * If foobar.example.org is allow-listed, then "example.org" is not
+ * considered allow-listed.
+ *
+ * @param aBaseDomain The base domain to check.
+ * @param aOriginAttributes The origin attributes associated with the base
+ * domain.
+ * @param aIsAllowListed [out] Set to true if the base domain is allow-listed,
+ * false otherwise.
+ *
+ * @return NS_OK if the check is successful, or an error code otherwise.
+ */
+ nsresult CheckForBaseDomain(const nsACString& aBaseDomain,
+ const OriginAttributes& aOriginAttributes,
+ bool& aIsAllowListed);
+
+ private:
+ bool mIsInitialized = false;
+
+ // The cache is a hash set of base domains. If a base domain is in the set, it
+ // is allow-listed for that context (normal browsing, private browsing.)
+ nsTHashSet<nsCString> mEntries;
+ nsTHashSet<nsCString> mEntriesPrivateBrowsing;
+
+ /**
+ * @brief Initializes the content blocking allow list cache if needed.
+ *
+ * @return NS_OK if initialization is successful, or an error code otherwise.
+ */
+ nsresult EnsureInit();
+};
class ContentBlockingAllowList final : public nsIContentBlockingAllowList {
public:
diff --git a/toolkit/components/antitracking/ContentBlockingAllowList.sys.mjs b/toolkit/components/antitracking/ContentBlockingAllowList.sys.mjs
index af1028083c..7efb0e7810 100644
--- a/toolkit/components/antitracking/ContentBlockingAllowList.sys.mjs
+++ b/toolkit/components/antitracking/ContentBlockingAllowList.sys.mjs
@@ -26,7 +26,7 @@ export const ContentBlockingAllowList = {
"nsISupportsWeakReference",
]),
- observe(subject, topic, data) {
+ observe(subject, topic) {
if (topic == "last-pb-context-exited") {
Services.perms.removeByType("trackingprotection-pb");
}
diff --git a/toolkit/components/antitracking/PurgeTrackerService.sys.mjs b/toolkit/components/antitracking/PurgeTrackerService.sys.mjs
index 08b5612287..458a35fef3 100644
--- a/toolkit/components/antitracking/PurgeTrackerService.sys.mjs
+++ b/toolkit/components/antitracking/PurgeTrackerService.sys.mjs
@@ -52,7 +52,7 @@ PurgeTrackerService.prototype = {
// protection list, so we cache the result for faster future lookups.
_trackingState: new Map(),
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
switch (aTopic) {
case "idle-daily":
// only allow one idle-daily listener to trigger until the list has been fully parsed.
diff --git a/toolkit/components/antitracking/URLDecorationAnnotationsService.sys.mjs b/toolkit/components/antitracking/URLDecorationAnnotationsService.sys.mjs
index ca285e972d..e445c8ec33 100644
--- a/toolkit/components/antitracking/URLDecorationAnnotationsService.sys.mjs
+++ b/toolkit/components/antitracking/URLDecorationAnnotationsService.sys.mjs
@@ -40,7 +40,7 @@ URLDecorationAnnotationsService.prototype = {
branch.lockPref(PREF_NAME);
},
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
if (aTopic == "profile-after-change") {
this.ensureUpdated();
}
diff --git a/toolkit/components/antitracking/URLQueryStringStripper.cpp b/toolkit/components/antitracking/URLQueryStringStripper.cpp
index 3b46738280..2e154b9103 100644
--- a/toolkit/components/antitracking/URLQueryStringStripper.cpp
+++ b/toolkit/components/antitracking/URLQueryStringStripper.cpp
@@ -98,7 +98,7 @@ URLQueryStringStripper::StripForCopyOrShare(nsIURI* aURI,
URLParams params;
- URLParams::Parse(query, [&](nsString&& name, nsString&& value) {
+ URLParams::Parse(query, true, [&](nsString&& name, nsString&& value) {
nsAutoString lowerCaseName;
ToLowerCase(name, lowerCaseName);
// Look through the global rules.
@@ -308,7 +308,7 @@ nsresult URLQueryStringStripper::StripQueryString(nsIURI* aURI,
URLParams params;
- URLParams::Parse(query, [&](nsString&& name, nsString&& value) {
+ URLParams::Parse(query, false, [&](nsString&& name, nsString&& value) {
nsAutoString lowerCaseName;
ToLowerCase(name, lowerCaseName);
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp
index e5d9ccfea9..2b0577d5c6 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp
@@ -12,6 +12,7 @@
#include "ErrorList.h"
#include "mozilla/AlreadyAddRefed.h"
#include "mozilla/ClearOnShutdown.h"
+#include "mozilla/ContentBlockingAllowList.h"
#include "mozilla/Logging.h"
#include "mozilla/Services.h"
#include "mozilla/StaticPrefs_privacy.h"
@@ -122,7 +123,7 @@ nsresult BounceTrackingProtection::RecordStatefulBounces(
aBounceTrackingState->Describe().get()));
// Assert: navigable’s bounce tracking record is not null.
- BounceTrackingRecord* record =
+ const Maybe<BounceTrackingRecord>& record =
aBounceTrackingState->GetBounceTrackingRecord();
NS_ENSURE_TRUE(record, NS_ERROR_FAILURE);
@@ -369,6 +370,11 @@ BounceTrackingProtection::TestRunPurgeBounceTrackers(
}
NS_IMETHODIMP
+BounceTrackingProtection::TestClearExpiredUserActivations() {
+ return ClearExpiredUserInteractions();
+}
+
+NS_IMETHODIMP
BounceTrackingProtection::TestAddBounceTrackerCandidate(
JS::Handle<JS::Value> aOriginAttributes, const nsACString& aHost,
const PRTime aBounceTime, JSContext* aCx) {
@@ -415,6 +421,22 @@ BounceTrackingProtection::TestAddUserActivation(
RefPtr<BounceTrackingProtection::PurgeBounceTrackersMozPromise>
BounceTrackingProtection::PurgeBounceTrackers() {
+ // Prevent multiple purge operations from running at the same time.
+ if (mPurgeInProgress) {
+ MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
+ ("%s: Skip: Purge already in progress.", __FUNCTION__));
+ return PurgeBounceTrackersMozPromise::CreateAndReject(
+ nsresult::NS_ERROR_NOT_AVAILABLE, __func__);
+ }
+ mPurgeInProgress = true;
+
+ // Obtain a cache of ContentBlockingAllowList permissions so we only need to
+ // fetch permissions once even when we do multiple base domain lookups.
+ ContentBlockingAllowListCache contentBlockingAllowListCache;
+
+ // Collect promises for all clearing operations to later await on.
+ nsTArray<RefPtr<ClearDataMozPromise>> clearPromises;
+
// Run the purging algorithm for all global state objects.
for (const auto& entry : mStorage->StateGlobalMapRef()) {
const OriginAttributes& originAttributes = entry.GetKey();
@@ -429,13 +451,17 @@ BounceTrackingProtection::PurgeBounceTrackers() {
oaSuffix.get()));
}
- PurgeBounceTrackersForStateGlobal(stateGlobal, originAttributes);
+ nsresult rv = PurgeBounceTrackersForStateGlobal(
+ stateGlobal, contentBlockingAllowListCache, clearPromises);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return PurgeBounceTrackersMozPromise::CreateAndReject(rv, __func__);
+ }
}
// Wait for all data clearing operations to complete. mClearPromises contains
// one promise per host / clear task.
return ClearDataMozPromise::AllSettled(GetCurrentSerialEventTarget(),
- mClearPromises)
+ clearPromises)
->Then(
GetCurrentSerialEventTarget(), __func__,
[&](ClearDataMozPromise::AllSettledPromiseType::ResolveOrRejectValue&&
@@ -450,7 +476,7 @@ BounceTrackingProtection::PurgeBounceTrackers() {
// If any clear call failed reject.
for (auto& result : aResults.ResolveValue()) {
if (result.IsReject()) {
- mClearPromises.Clear();
+ mPurgeInProgress = false;
return PurgeBounceTrackersMozPromise::CreateAndReject(
NS_ERROR_FAILURE, __func__);
}
@@ -458,7 +484,8 @@ BounceTrackingProtection::PurgeBounceTrackers() {
}
// No clearing errors, resolve.
- mClearPromises.Clear();
+
+ mPurgeInProgress = false;
return PurgeBounceTrackersMozPromise::CreateAndResolve(
std::move(purgedSiteHosts), __func__);
});
@@ -466,34 +493,17 @@ BounceTrackingProtection::PurgeBounceTrackers() {
nsresult BounceTrackingProtection::PurgeBounceTrackersForStateGlobal(
BounceTrackingStateGlobal* aStateGlobal,
- const OriginAttributes& aOriginAttributes) {
+ ContentBlockingAllowListCache& aContentBlockingAllowList,
+ nsTArray<RefPtr<ClearDataMozPromise>>& aClearPromises) {
MOZ_ASSERT(aStateGlobal);
MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
- ("%s: #mUserActivation: %d, #mBounceTrackers: %d", __FUNCTION__,
- aStateGlobal->UserActivationMapRef().Count(),
- aStateGlobal->BounceTrackersMapRef().Count()));
-
- // Purge already in progress.
- if (!mClearPromises.IsEmpty()) {
- MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
- ("%s: Skip: Purge already in progress.", __FUNCTION__));
- return NS_ERROR_NOT_AVAILABLE;
- }
+ ("%s: %s", __FUNCTION__, aStateGlobal->Describe().get()));
const PRTime now = PR_Now();
- // Convert the user activation lifetime into microseconds for calculation with
- // PRTime values. The pref is a 32-bit value. Cast into 64-bit before
- // multiplying so we get the correct result.
- int64_t activationLifetimeUsec =
- static_cast<int64_t>(
- StaticPrefs::
- privacy_bounceTrackingProtection_bounceTrackingActivationLifetimeSec()) *
- PR_USEC_PER_SEC;
// 1. Remove hosts from the user activation map whose user activation flag has
// expired.
- nsresult rv =
- aStateGlobal->ClearUserActivationBefore(now - activationLifetimeUsec);
+ nsresult rv = ClearExpiredUserInteractions(aStateGlobal);
NS_ENSURE_SUCCESS(rv, rv);
// 2. Go over bounce tracker candidate map and purge state.
@@ -502,7 +512,6 @@ nsresult BounceTrackingProtection::PurgeBounceTrackersForStateGlobal(
do_GetService("@mozilla.org/clear-data-service;1", &rv);
NS_ENSURE_SUCCESS(rv, rv);
- mClearPromises.Clear();
nsTArray<nsCString> purgedSiteHosts;
// Collect hosts to remove from the bounce trackers map. We can not remove
@@ -545,6 +554,27 @@ nsresult BounceTrackingProtection::PurgeBounceTrackersForStateGlobal(
continue;
}
+ // Gecko specific: If the host is on the content blocking allow-list,
+ // continue.
+ bool isAllowListed = false;
+ rv = aContentBlockingAllowList.CheckForBaseDomain(
+ host, aStateGlobal->OriginAttributesRef(), isAllowListed);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ continue;
+ }
+ if (isAllowListed) {
+ if (MOZ_LOG_TEST(gBounceTrackingProtectionLog, LogLevel::Debug)) {
+ nsAutoCString originAttributeSuffix;
+ aStateGlobal->OriginAttributesRef().CreateSuffix(originAttributeSuffix);
+ MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
+ ("%s: Skip host on the content blocking allow-list: host: %s, "
+ "originAttributes: %s",
+ __FUNCTION__, PromiseFlatCString(host).get(),
+ originAttributeSuffix.get()));
+ }
+ continue;
+ }
+
// No exception above applies, clear state for the given host.
RefPtr<ClearDataMozPromise::Private> clearPromise =
@@ -562,7 +592,7 @@ nsresult BounceTrackingProtection::PurgeBounceTrackersForStateGlobal(
clearPromise->Reject(0, __func__);
}
- mClearPromises.AppendElement(clearPromise);
+ aClearPromises.AppendElement(clearPromise);
// Remove it from the bounce trackers map, it's about to be purged. If the
// clear call fails still remove it. We want to avoid an ever growing list
@@ -575,6 +605,43 @@ nsresult BounceTrackingProtection::PurgeBounceTrackersForStateGlobal(
return aStateGlobal->RemoveBounceTrackers(bounceTrackerCandidatesToRemove);
}
+nsresult BounceTrackingProtection::ClearExpiredUserInteractions(
+ BounceTrackingStateGlobal* aStateGlobal) {
+ if (!aStateGlobal && mStorage->StateGlobalMapRef().IsEmpty()) {
+ // Nothing to clear.
+ return NS_OK;
+ }
+
+ const PRTime now = PR_Now();
+
+ // Convert the user activation lifetime into microseconds for calculation with
+ // PRTime values. The pref is a 32-bit value. Cast into 64-bit before
+ // multiplying so we get the correct result.
+ int64_t activationLifetimeUsec =
+ static_cast<int64_t>(
+ StaticPrefs::
+ privacy_bounceTrackingProtection_bounceTrackingActivationLifetimeSec()) *
+ PR_USEC_PER_SEC;
+
+ // Clear user activation for the given state global.
+ if (aStateGlobal) {
+ return aStateGlobal->ClearUserActivationBefore(now -
+ activationLifetimeUsec);
+ }
+
+ // aStateGlobal not passed, clear user activation for all state globals.
+ for (const auto& entry : mStorage->StateGlobalMapRef()) {
+ const RefPtr<BounceTrackingStateGlobal>& stateGlobal = entry.GetData();
+ MOZ_ASSERT(stateGlobal);
+
+ nsresult rv =
+ stateGlobal->ClearUserActivationBefore(now - activationLifetimeUsec);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+
+ return NS_OK;
+}
+
// ClearDataCallback
NS_IMPL_ISUPPORTS(BounceTrackingProtection::ClearDataCallback,
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.h b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.h
index 98c61504c0..e99cf895be 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.h
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.h
@@ -17,6 +17,7 @@ namespace mozilla {
class BounceTrackingState;
class BounceTrackingStateGlobal;
class BounceTrackingProtectionStorage;
+class ContentBlockingAllowListCache;
class OriginAttributes;
extern LazyLogModule gBounceTrackingProtectionLog;
@@ -33,10 +34,17 @@ class BounceTrackingProtection final : public nsIBounceTrackingProtection {
// navigation start for bounce tracking, or if the client bounce detection
// timer expires after process response received for bounce tracking without
// observing a client redirect.
- nsresult RecordStatefulBounces(BounceTrackingState* aBounceTrackingState);
+ [[nodiscard]] nsresult RecordStatefulBounces(
+ BounceTrackingState* aBounceTrackingState);
// Stores a user activation flag with a timestamp for the given principal.
- nsresult RecordUserActivation(nsIPrincipal* aPrincipal);
+ [[nodiscard]] nsresult RecordUserActivation(nsIPrincipal* aPrincipal);
+
+ // Clears expired user interaction flags for the given state global. If
+ // aStateGlobal == nullptr, clears expired user interaction flags for all
+ // state globals.
+ [[nodiscard]] nsresult ClearExpiredUserInteractions(
+ BounceTrackingStateGlobal* aStateGlobal = nullptr);
private:
BounceTrackingProtection();
@@ -53,13 +61,19 @@ class BounceTrackingProtection final : public nsIBounceTrackingProtection {
MozPromise<nsTArray<nsCString>, nsresult, true>;
RefPtr<PurgeBounceTrackersMozPromise> PurgeBounceTrackers();
- nsresult PurgeBounceTrackersForStateGlobal(
- BounceTrackingStateGlobal* aStateGlobal,
- const OriginAttributes& aOriginAttributes);
-
// Pending clear operations are stored as ClearDataMozPromise, one per host.
using ClearDataMozPromise = MozPromise<nsCString, uint32_t, true>;
- nsTArray<RefPtr<ClearDataMozPromise>> mClearPromises;
+
+ // Clear state for classified bounce trackers for a specific state global.
+ // aClearPromises is populated with promises for each host that is cleared.
+ [[nodiscard]] nsresult PurgeBounceTrackersForStateGlobal(
+ BounceTrackingStateGlobal* aStateGlobal,
+ ContentBlockingAllowListCache& aContentBlockingAllowList,
+ nsTArray<RefPtr<ClearDataMozPromise>>& aClearPromises);
+
+ // Whether a purge operation is currently in progress. This avoids running
+ // multiple purge operations at the same time.
+ bool mPurgeInProgress = false;
// Wraps nsIClearDataCallback in MozPromise.
class ClearDataCallback final : public nsIClearDataCallback {
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.cpp b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.cpp
index 14ee178ae2..d4b33f9edb 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.cpp
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.cpp
@@ -12,13 +12,11 @@ namespace mozilla {
extern LazyLogModule gBounceTrackingProtectionLog;
-NS_IMPL_CYCLE_COLLECTION(BounceTrackingRecord);
-
void BounceTrackingRecord::SetInitialHost(const nsACString& aHost) {
mInitialHost = aHost;
}
-const nsACString& BounceTrackingRecord::GetInitialHost() {
+const nsACString& BounceTrackingRecord::GetInitialHost() const {
return mInitialHost;
}
@@ -26,7 +24,9 @@ void BounceTrackingRecord::SetFinalHost(const nsACString& aHost) {
mFinalHost = aHost;
}
-const nsACString& BounceTrackingRecord::GetFinalHost() { return mFinalHost; }
+const nsACString& BounceTrackingRecord::GetFinalHost() const {
+ return mFinalHost;
+}
void BounceTrackingRecord::AddBounceHost(const nsACString& aHost) {
mBounceHosts.Insert(aHost);
@@ -57,11 +57,12 @@ void BounceTrackingRecord::AddStorageAccessHost(const nsACString& aHost) {
mStorageAccessHosts.Insert(aHost);
}
-const nsTHashSet<nsCString>& BounceTrackingRecord::GetBounceHosts() {
+const nsTHashSet<nsCString>& BounceTrackingRecord::GetBounceHosts() const {
return mBounceHosts;
}
-const nsTHashSet<nsCString>& BounceTrackingRecord::GetStorageAccessHosts() {
+const nsTHashSet<nsCString>& BounceTrackingRecord::GetStorageAccessHosts()
+ const {
return mStorageAccessHosts;
}
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.h b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.h
index d3e980d00b..73985a00a4 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.h
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingRecord.h
@@ -7,9 +7,7 @@
#ifndef mozilla_BounceTrackingRecord_h
#define mozilla_BounceTrackingRecord_h
-#include "nsISupports.h"
#include "nsStringFwd.h"
-#include "nsCycleCollectionParticipant.h"
#include "nsTHashSet.h"
namespace mozilla {
@@ -22,31 +20,26 @@ class CanonicalBrowsingContext;
// navigation.
class BounceTrackingRecord final {
public:
- NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(BounceTrackingRecord);
- NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(BounceTrackingRecord);
-
void SetInitialHost(const nsACString& aHost);
- const nsACString& GetInitialHost();
+ const nsACString& GetInitialHost() const;
void SetFinalHost(const nsACString& aHost);
- const nsACString& GetFinalHost();
+ const nsACString& GetFinalHost() const;
void AddBounceHost(const nsACString& aHost);
void AddStorageAccessHost(const nsACString& aHost);
- const nsTHashSet<nsCString>& GetBounceHosts();
+ const nsTHashSet<nsCString>& GetBounceHosts() const;
- const nsTHashSet<nsCString>& GetStorageAccessHosts();
+ const nsTHashSet<nsCString>& GetStorageAccessHosts() const;
// Create a string that describes this record. Used for logging.
nsCString Describe();
private:
- ~BounceTrackingRecord() = default;
-
// A site's host. The initiator site of the current extended navigation.
nsAutoCString mInitialHost;
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.cpp b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.cpp
index c5abb8b8d7..b4af3daa07 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.cpp
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.cpp
@@ -143,10 +143,11 @@ nsresult BounceTrackingState::Init(
}
void BounceTrackingState::ResetBounceTrackingRecord() {
- mBounceTrackingRecord = nullptr;
+ mBounceTrackingRecord = Nothing();
}
-BounceTrackingRecord* BounceTrackingState::GetBounceTrackingRecord() {
+const Maybe<BounceTrackingRecord>&
+BounceTrackingState::GetBounceTrackingRecord() {
return mBounceTrackingRecord;
}
@@ -452,7 +453,7 @@ nsresult BounceTrackingState::OnStartNavigation(
// tracking record to a new bounce tracking record with initial host set to
// initialHost.
if (!mBounceTrackingRecord) {
- mBounceTrackingRecord = new BounceTrackingRecord();
+ mBounceTrackingRecord = Some(BounceTrackingRecord());
mBounceTrackingRecord->SetInitialHost(siteHost);
MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
@@ -477,7 +478,7 @@ nsresult BounceTrackingState::OnStartNavigation(
NS_ENSURE_SUCCESS(rv, rv);
MOZ_ASSERT(!mBounceTrackingRecord);
- mBounceTrackingRecord = new BounceTrackingRecord();
+ mBounceTrackingRecord = Some(BounceTrackingRecord());
mBounceTrackingRecord->SetInitialHost(siteHost);
return NS_OK;
@@ -539,8 +540,12 @@ nsresult BounceTrackingState::OnResponseReceived(
("%s: Calling RecordStatefulBounces after timeout.", __FUNCTION__));
BounceTrackingState* bounceTrackingState = thisWeak;
- bounceTrackingState->mBounceTrackingProtection->RecordStatefulBounces(
- bounceTrackingState);
+ DebugOnly<nsresult> rv =
+ bounceTrackingState->mBounceTrackingProtection
+ ->RecordStatefulBounces(bounceTrackingState);
+ NS_WARNING_ASSERTION(
+ NS_SUCCEEDED(rv),
+ "Running RecordStatefulBounces after a timeout failed.");
bounceTrackingState->mClientBounceDetectionTimeout = nullptr;
},
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.h b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.h
index 70deee5abe..17d324bda9 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.h
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingState.h
@@ -7,6 +7,7 @@
#ifndef mozilla_BounceTrackingState_h
#define mozilla_BounceTrackingState_h
+#include "BounceTrackingRecord.h"
#include "mozilla/WeakPtr.h"
#include "mozilla/OriginAttributes.h"
#include "nsIPrincipal.h"
@@ -22,7 +23,6 @@ class nsIPrincipal;
namespace mozilla {
class BounceTrackingProtection;
-class BounceTrackingRecord;
namespace dom {
class CanonicalBrowsingContext;
@@ -55,7 +55,7 @@ class BounceTrackingState : public nsIWebProgressListener,
static void ResetAllForOriginAttributesPattern(
const OriginAttributesPattern& aPattern);
- BounceTrackingRecord* GetBounceTrackingRecord();
+ const Maybe<BounceTrackingRecord>& GetBounceTrackingRecord();
void ResetBounceTrackingRecord();
@@ -113,7 +113,7 @@ class BounceTrackingState : public nsIWebProgressListener,
// Record to keep track of extended navigation data. Reset on extended
// navigation end.
- RefPtr<BounceTrackingRecord> mBounceTrackingRecord;
+ Maybe<BounceTrackingRecord> mBounceTrackingRecord;
// Timer to wait to wait for a client redirect after a navigation ends.
RefPtr<nsITimer> mClientBounceDetectionTimeout;
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.cpp b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.cpp
index 3481753431..b94c887c90 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.cpp
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.cpp
@@ -106,6 +106,11 @@ nsresult BounceTrackingStateGlobal::ClearByTimeRange(
NS_ENSURE_ARG_MIN(aFrom, 0);
NS_ENSURE_TRUE(!aTo || aTo.value() > aFrom, NS_ERROR_INVALID_ARG);
+ MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
+ ("%s: Clearing user activations by time range from %" PRIu64
+ " to %" PRIu64 " %s",
+ __FUNCTION__, aFrom, aTo.valueOr(0), Describe().get()));
+
// Clear in memory user activation data.
if (aEntryType.isNothing() ||
aEntryType.value() ==
@@ -113,10 +118,10 @@ nsresult BounceTrackingStateGlobal::ClearByTimeRange(
for (auto iter = mUserActivation.Iter(); !iter.Done(); iter.Next()) {
if (iter.Data() >= aFrom &&
(aTo.isNothing() || iter.Data() <= aTo.value())) {
- iter.Remove();
MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
("%s: Remove user activation for %s", __FUNCTION__,
PromiseFlatCString(iter.Key()).get()));
+ iter.Remove();
}
}
}
@@ -128,10 +133,10 @@ nsresult BounceTrackingStateGlobal::ClearByTimeRange(
for (auto iter = mBounceTrackers.Iter(); !iter.Done(); iter.Next()) {
if (iter.Data() >= aFrom &&
(aTo.isNothing() || iter.Data() <= aTo.value())) {
- iter.Remove();
MOZ_LOG(gBounceTrackingProtectionLog, LogLevel::Debug,
("%s: Remove bouncer tracker for %s", __FUNCTION__,
PromiseFlatCString(iter.Key()).get()));
+ iter.Remove();
}
}
}
@@ -187,4 +192,27 @@ nsresult BounceTrackingStateGlobal::RemoveBounceTrackers(
return NS_OK;
}
+// static
+nsCString BounceTrackingStateGlobal::DescribeMap(
+ const nsTHashMap<nsCStringHashKey, PRTime>& aMap) {
+ nsAutoCString mapStr;
+
+ for (auto iter = aMap.ConstIter(); !iter.Done(); iter.Next()) {
+ mapStr.Append(nsPrintfCString("{ %s: %" PRIu64 " }, ",
+ PromiseFlatCString(iter.Key()).get(),
+ iter.Data()));
+ }
+
+ return std::move(mapStr);
+}
+
+nsCString BounceTrackingStateGlobal::Describe() {
+ nsAutoCString originAttributeSuffix;
+ mOriginAttributes.CreateSuffix(originAttributeSuffix);
+ return nsPrintfCString(
+ "{ mOriginAttributes: %s, mUserActivation: %s, mBounceTrackers: %s }",
+ originAttributeSuffix.get(), DescribeMap(mUserActivation).get(),
+ DescribeMap(mBounceTrackers).get());
+}
+
} // namespace mozilla
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.h b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.h
index 6680ceae6f..c8ed72c11f 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.h
+++ b/toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingStateGlobal.h
@@ -37,6 +37,10 @@ class BounceTrackingStateGlobal final {
bool ShouldPersistToDisk() const { return !IsPrivateBrowsing(); }
+ const OriginAttributes& OriginAttributesRef() const {
+ return mOriginAttributes;
+ };
+
bool HasUserActivation(const nsACString& aSiteHost) const;
// Store a user interaction flag for the given host. This will remove the
@@ -79,6 +83,9 @@ class BounceTrackingStateGlobal final {
return mBounceTrackers;
}
+ // Create a string that describes this object. Used for logging.
+ nsCString Describe();
+
private:
~BounceTrackingStateGlobal() = default;
@@ -103,6 +110,10 @@ class BounceTrackingStateGlobal final {
// on the given site host performed an action that could indicate stateful
// bounce tracking took place.
nsTHashMap<nsCStringHashKey, PRTime> mBounceTrackers{};
+
+ // Helper to create a string representation of a siteHost -> timestamp map.
+ static nsCString DescribeMap(
+ const nsTHashMap<nsCStringHashKey, PRTime>& aMap);
};
} // namespace mozilla
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl b/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl
index 9ade9cb0ea..1163492333 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl
+++ b/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl
@@ -28,6 +28,10 @@ interface nsIBounceTrackingProtection : nsISupports {
[implicit_jscontext]
Promise testRunPurgeBounceTrackers();
+ // Clear expired user activation flags. Expiry is set via pref
+ // "privacy.bounceTrackingProtection.bounceTrackingActivationLifetimeSec".
+ void testClearExpiredUserActivations();
+
// Getters and setters for user activation and bounce tracker state.
// These are used for testing purposes only.
// State is keyed by OriginAttributes.
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_purge.js b/toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_purge.js
index a8e98b80f0..eedd374197 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_purge.js
+++ b/toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_purge.js
@@ -119,3 +119,69 @@ add_task(async function test_purging_skip_open_tab_extra_window() {
bounceTrackingProtection.clearAll();
});
+
+add_task(async function test_purging_skip_content_blocking_allow_list() {
+ initBounceTrackerState();
+
+ await BrowserTestUtils.withNewTab("https://example.com", async browser => {
+ window.ContentBlockingAllowList.add(browser);
+ });
+
+ Assert.deepEqual(
+ await bounceTrackingProtection.testRunPurgeBounceTrackers(),
+ ["example.net"],
+ "Should only purge example.net. example.org is within the grace period, example.com is allow-listed."
+ );
+
+ info(
+ "Remove the allow-list entry for example.com and test that it gets purged now."
+ );
+
+ await BrowserTestUtils.withNewTab("https://example.com", async browser => {
+ window.ContentBlockingAllowList.remove(browser);
+ });
+ Assert.deepEqual(
+ await bounceTrackingProtection.testRunPurgeBounceTrackers(),
+ ["example.com"],
+ "example.com should have been purged now that it is no longer allow-listed."
+ );
+
+ bounceTrackingProtection.clearAll();
+});
+
+add_task(
+ async function test_purging_skip_content_blocking_allow_list_subdomain() {
+ initBounceTrackerState();
+
+ await BrowserTestUtils.withNewTab(
+ "https://test1.example.com",
+ async browser => {
+ window.ContentBlockingAllowList.add(browser);
+ }
+ );
+
+ Assert.deepEqual(
+ await bounceTrackingProtection.testRunPurgeBounceTrackers(),
+ ["example.net"],
+ "Should only purge example.net. example.org is within the grace period, example.com is allow-listed via test1.example.com."
+ );
+
+ info(
+ "Remove the allow-list entry for test1.example.com and test that it gets purged now."
+ );
+
+ await BrowserTestUtils.withNewTab(
+ "https://test1.example.com",
+ async browser => {
+ window.ContentBlockingAllowList.remove(browser);
+ }
+ );
+ Assert.deepEqual(
+ await bounceTrackingProtection.testRunPurgeBounceTrackers(),
+ ["example.com"],
+ "example.com should have been purged now that test1.example.com it is no longer allow-listed."
+ );
+
+ bounceTrackingProtection.clearAll();
+ }
+);
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/test_bouncetracking_clearExpiredUserActivation.js b/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/test_bouncetracking_clearExpiredUserActivation.js
new file mode 100644
index 0000000000..28a1350b3e
--- /dev/null
+++ b/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/test_bouncetracking_clearExpiredUserActivation.js
@@ -0,0 +1,85 @@
+/* Any copyright is dedicated to the Public Domain.
+http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Test that expired user activations are cleared by the the helper method
+ * testClearExpiredUserActivations.
+ */
+add_task(async function test() {
+ // Need a profile to data clearing calls.
+ do_get_profile();
+
+ let btp = Cc["@mozilla.org/bounce-tracking-protection;1"].getService(
+ Ci.nsIBounceTrackingProtection
+ );
+
+ // Reset global bounce tracking state.
+ btp.clearAll();
+
+ // Assert initial test state.
+ Assert.deepEqual(
+ btp.testGetBounceTrackerCandidateHosts({}),
+ [],
+ "No tracker candidates initially."
+ );
+ Assert.deepEqual(
+ btp.testGetUserActivationHosts({}),
+ [],
+ "No user activation hosts initially."
+ );
+
+ // Get the bounce tracking activation lifetime. The pref is in seconds, we
+ // need to convert it to microseconds, as the user activation timestamps are
+ // in microseconds (PRTime).
+ let bounceTrackingActivationLifetimeUSec =
+ 1000 *
+ 1000 *
+ Services.prefs.getIntPref(
+ "privacy.bounceTrackingProtection.bounceTrackingActivationLifetimeSec"
+ );
+
+ // Add some test data for user activation.
+ btp.testAddUserActivation({}, "not-expired1.com", Date.now() * 1000);
+ btp.testAddUserActivation(
+ {},
+ "not-expired2.com",
+ Date.now() * 1000 - bounceTrackingActivationLifetimeUSec / 2
+ );
+ btp.testAddUserActivation(
+ { privateBrowsingId: 1 },
+ "pbm-not-expired.com",
+ Date.now() * 1000
+ );
+ btp.testAddUserActivation(
+ {},
+ "expired1.com",
+ Date.now() * 1000 - bounceTrackingActivationLifetimeUSec * 2
+ );
+ btp.testAddUserActivation(
+ {},
+ "expired2.com",
+ Date.now() * 1000 - (bounceTrackingActivationLifetimeUSec + 1000 * 1000)
+ );
+ btp.testAddUserActivation({ privateBrowsingId: 1 }, "pbm-expired.com", 1);
+
+ // Clear expired user activations.
+ btp.testClearExpiredUserActivations();
+
+ // Assert that expired user activations have been cleared.
+ Assert.deepEqual(
+ btp.testGetUserActivationHosts({}).sort(),
+ ["not-expired1.com", "not-expired2.com"],
+ "Expired user activation flags have been cleared for normal browsing."
+ );
+
+ Assert.deepEqual(
+ btp.testGetUserActivationHosts({ privateBrowsingId: 1 }).sort(),
+ ["pbm-not-expired.com"],
+ "Expired user activation flags have been cleared for private browsing."
+ );
+
+ // Reset global bounce tracking state.
+ btp.clearAll();
+});
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/xpcshell.toml b/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/xpcshell.toml
index 16e270b85c..c3aeee502f 100644
--- a/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/xpcshell.toml
+++ b/toolkit/components/antitracking/bouncetrackingprotection/test/xpcshell/xpcshell.toml
@@ -5,4 +5,6 @@ prefs = [
"privacy.bounceTrackingProtection.bounceTrackingPurgeTimerPeriodSec=0",
]
+["test_bouncetracking_clearExpiredUserActivation.js"]
+
["test_bouncetracking_purge.js"]
diff --git a/toolkit/components/antitracking/test/browser/3rdPartySVG.html b/toolkit/components/antitracking/test/browser/3rdPartySVG.html
index df791f355f..9ce6fc8ba1 100644
--- a/toolkit/components/antitracking/test/browser/3rdPartySVG.html
+++ b/toolkit/components/antitracking/test/browser/3rdPartySVG.html
@@ -11,7 +11,7 @@
<h1>3rd party content with an SVG image background</h1>
<script>
-onload = function(e) {
+onload = function() {
parent.postMessage({ type: "finish" }, "*");
};
diff --git a/toolkit/components/antitracking/test/browser/3rdPartyWorker.html b/toolkit/components/antitracking/test/browser/3rdPartyWorker.html
index e79a992660..9544bfed2b 100644
--- a/toolkit/components/antitracking/test/browser/3rdPartyWorker.html
+++ b/toolkit/components/antitracking/test/browser/3rdPartyWorker.html
@@ -20,7 +20,7 @@ function is(a, b, msg) {
}
function workerCode() {
- onmessage = e => {
+ onmessage = () => {
try {
indexedDB.open("test", "1");
postMessage(true);
diff --git a/toolkit/components/antitracking/test/browser/antitracking_head.js b/toolkit/components/antitracking/test/browser/antitracking_head.js
index 52871b60c2..fedad72e9b 100644
--- a/toolkit/components/antitracking/test/browser/antitracking_head.js
+++ b/toolkit/components/antitracking/test/browser/antitracking_head.js
@@ -356,7 +356,7 @@ this.AntiTracking = {
let cnt = 0;
return new Promise(resolve => {
- Services.obs.addObserver(function observer(subject, topic, data) {
+ Services.obs.addObserver(function observer(subject, topic) {
if (topic != targetTopic) {
return;
}
@@ -1174,8 +1174,7 @@ this.AntiTracking = {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
if (aTopic == "domwindowclosed") {
Services.ww.unregisterNotification(notification);
@@ -1279,8 +1278,7 @@ this.AntiTracking = {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
if (aTopic == "domwindowclosed") {
Services.ww.unregisterNotification(notification);
@@ -1366,12 +1364,12 @@ this.AntiTracking = {
function Listener() {}
Listener.prototype = {
- onStartRequest(request) {},
+ onStartRequest() {},
onDataAvailable(request, stream, off, cnt) {
// Consume the data to prevent hitting the assertion.
NetUtil.readInputStreamToString(stream, cnt);
},
- onStopRequest(request, st) {
+ onStopRequest(request) {
let status = request.QueryInterface(Ci.nsIHttpChannel).responseStatus;
if (status == 200) {
resolve();
diff --git a/toolkit/components/antitracking/test/browser/blobPartitionPage.html b/toolkit/components/antitracking/test/browser/blobPartitionPage.html
index d0dd156bc5..d066bb3603 100644
--- a/toolkit/components/antitracking/test/browser/blobPartitionPage.html
+++ b/toolkit/components/antitracking/test/browser/blobPartitionPage.html
@@ -17,7 +17,7 @@
.then(text => {
parent.postMessage(text, "*");
})
- .catch(error => {
+ .catch(() => {
parent.postMessage("error", "*");
});
};
diff --git a/toolkit/components/antitracking/test/browser/browser-blocking.toml b/toolkit/components/antitracking/test/browser/browser-blocking.toml
index 4a0aa8f44d..573b8b4d15 100644
--- a/toolkit/components/antitracking/test/browser/browser-blocking.toml
+++ b/toolkit/components/antitracking/test/browser/browser-blocking.toml
@@ -1,5 +1,9 @@
[DEFAULT]
-skip-if = ["os == 'linux' && (asan || tsan)"] # bug 1662229 - task exception
+skip-if = [
+ "os == 'linux' && os_version == '18.04' && asan", # bug 1662229 - task exception
+ "os == 'linux' && os_version == '18.04' && tsan", # bug 1662229 - task exception
+ "debug", # bug 1884982 - takes 20+ minutes to run on debug
+]
prefs = [
# Disable the Storage Access API prompts for all of the tests in this directory
"dom.storage_access.prompt.testing=true",
diff --git a/toolkit/components/antitracking/test/browser/browser_aboutblank.js b/toolkit/components/antitracking/test/browser/browser_aboutblank.js
index f80a948771..0fc86cc3d2 100644
--- a/toolkit/components/antitracking/test/browser/browser_aboutblank.js
+++ b/toolkit/components/antitracking/test/browser/browser_aboutblank.js
@@ -23,7 +23,7 @@ add_task(async function test_aboutblankInIframe() {
);
let browser = tab.linkedBrowser;
- await SpecialPowers.spawn(browser, [], async function (obj) {
+ await SpecialPowers.spawn(browser, [], async function () {
let ifr = content.document.createElement("iframe");
let loading = new content.Promise(resolve => {
ifr.onload = resolve;
@@ -32,7 +32,7 @@ add_task(async function test_aboutblankInIframe() {
content.document.body.appendChild(ifr);
await loading;
- await SpecialPowers.spawn(ifr, [], async function (obj) {
+ await SpecialPowers.spawn(ifr, [], async function () {
ok(
content.navigator.cookieEnabled,
"Cookie should be enabled in about blank"
diff --git a/toolkit/components/antitracking/test/browser/browser_addonHostPermissionIgnoredInTP.js b/toolkit/components/antitracking/test/browser/browser_addonHostPermissionIgnoredInTP.js
index 44664e239a..08613ca415 100644
--- a/toolkit/components/antitracking/test/browser/browser_addonHostPermissionIgnoredInTP.js
+++ b/toolkit/components/antitracking/test/browser/browser_addonHostPermissionIgnoredInTP.js
@@ -28,7 +28,7 @@ add_task(async function () {
let browser = tab.linkedBrowser;
info("Verify the number of script nodes found");
- await ContentTask.spawn(browser, [], async function (obj) {
+ await ContentTask.spawn(browser, [], async function () {
// Need to wait a bit for cross-process postMessage...
await ContentTaskUtils.waitForCondition(
() => content.document.documentElement.getAttribute("count") !== null,
diff --git a/toolkit/components/antitracking/test/browser/browser_allowListNotifications.js b/toolkit/components/antitracking/test/browser/browser_allowListNotifications.js
index 999c6f93a0..4bc2e3b1ae 100644
--- a/toolkit/components/antitracking/test/browser/browser_allowListNotifications.js
+++ b/toolkit/components/antitracking/test/browser/browser_allowListNotifications.js
@@ -134,7 +134,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_allowListNotifications_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_allowListNotifications_alwaysPartition.js
index 0fd677e27f..62e7aa04e1 100644
--- a/toolkit/components/antitracking/test/browser/browser_allowListNotifications_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_allowListNotifications_alwaysPartition.js
@@ -135,7 +135,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_allowListSeparationInPrivateAndNormalWindows.js b/toolkit/components/antitracking/test/browser/browser_allowListSeparationInPrivateAndNormalWindows.js
index 38eb9fc090..64eb39795a 100644
--- a/toolkit/components/antitracking/test/browser/browser_allowListSeparationInPrivateAndNormalWindows.js
+++ b/toolkit/components/antitracking/test/browser/browser_allowListSeparationInPrivateAndNormalWindows.js
@@ -39,7 +39,7 @@ AntiTracking.runTest(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_allowPermissionForTracker.js b/toolkit/components/antitracking/test/browser/browser_allowPermissionForTracker.js
index e628199ead..bec8da9ba5 100644
--- a/toolkit/components/antitracking/test/browser/browser_allowPermissionForTracker.js
+++ b/toolkit/components/antitracking/test/browser/browser_allowPermissionForTracker.js
@@ -32,6 +32,8 @@ AntiTracking._createTask({
allowList: false,
callback: async _ => {
document.cookie = "name=value";
+ // Assert isn't available in the webpage.
+ // eslint-disable-next-line mozilla/no-comparison-or-assignment-inside-ok
ok(document.cookie != "", "Nothing is blocked");
// requestStorageAccess should resolve
@@ -57,7 +59,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_backgroundImageAssertion.js b/toolkit/components/antitracking/test/browser/browser_backgroundImageAssertion.js
index 16eec0da9e..27fbdfe971 100644
--- a/toolkit/components/antitracking/test/browser/browser_backgroundImageAssertion.js
+++ b/toolkit/components/antitracking/test/browser/browser_backgroundImageAssertion.js
@@ -62,7 +62,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingCookies.js b/toolkit/components/antitracking/test/browser/browser_blockingCookies.js
index dc22ad77b9..bedbccea83 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingCookies.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingCookies.js
@@ -66,7 +66,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -172,7 +172,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingDOMCache.js b/toolkit/components/antitracking/test/browser/browser_blockingDOMCache.js
index a8353cc8f1..9bc418ac8f 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingDOMCache.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingDOMCache.js
@@ -24,7 +24,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartition.js
index 4cb90af8ad..dc50cb387e 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartition.js
@@ -42,7 +42,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartitionSAA.js b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartitionSAA.js
index bef53f2936..09321a3e67 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartitionSAA.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheAlwaysPartitionSAA.js
@@ -66,7 +66,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheSAA.js b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheSAA.js
index 06526972dd..c689110ee3 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheSAA.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingDOMCacheSAA.js
@@ -68,7 +68,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDb.js b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDb.js
index 7fde2365bb..5879eac590 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDb.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDb.js
@@ -20,7 +20,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -91,7 +91,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers.js b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers.js
index 55db3cc05b..7efb26d5d1 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers.js
@@ -28,7 +28,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -57,14 +57,14 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers2.js b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers2.js
index 02ce8dc588..10e6b8c248 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers2.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingIndexedDbInWorkers2.js
@@ -37,7 +37,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -80,7 +80,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -112,7 +112,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -134,14 +134,14 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingLocalStorage.js b/toolkit/components/antitracking/test/browser/browser_blockingLocalStorage.js
index 1362fc7519..c52b676642 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingLocalStorage.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingLocalStorage.js
@@ -17,7 +17,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -83,7 +83,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingMessaging.js b/toolkit/components/antitracking/test/browser/browser_blockingMessaging.js
index 34af2b76ce..054616460f 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingMessaging.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingMessaging.js
@@ -21,7 +21,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -58,7 +58,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -87,14 +87,14 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -159,7 +159,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -206,7 +206,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -250,7 +250,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -282,7 +282,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
@@ -304,14 +304,14 @@ AntiTracking.runTestInNormalAndPrivateMode(
}
};
- worker.onerror = function (e) {
+ worker.onerror = function () {
reject();
};
});
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingNoOpener.js b/toolkit/components/antitracking/test/browser/browser_blockingNoOpener.js
index ba75454e18..05bf0c8a26 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingNoOpener.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingNoOpener.js
@@ -30,7 +30,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkers.js b/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkers.js
index c61f85d69f..e730f7df6f 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkers.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkers.js
@@ -16,7 +16,7 @@ AntiTracking.runTest(
null,
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkersStorageAccessAPI.js b/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkersStorageAccessAPI.js
index a7676bf939..f9d98b4c95 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkersStorageAccessAPI.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingServiceWorkersStorageAccessAPI.js
@@ -117,7 +117,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingSessionStorage.js b/toolkit/components/antitracking/test/browser/browser_blockingSessionStorage.js
index 25a926ed3f..1410b57f93 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingSessionStorage.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingSessionStorage.js
@@ -36,7 +36,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -115,7 +115,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_blockingSharedWorkers.js b/toolkit/components/antitracking/test/browser/browser_blockingSharedWorkers.js
index 0daffc4565..d88146e8ce 100644
--- a/toolkit/components/antitracking/test/browser/browser_blockingSharedWorkers.js
+++ b/toolkit/components/antitracking/test/browser/browser_blockingSharedWorkers.js
@@ -17,7 +17,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -83,7 +83,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_contentBlockingAllowListPrincipal.js b/toolkit/components/antitracking/test/browser/browser_contentBlockingAllowListPrincipal.js
index a9e2ac6fce..a94968b228 100644
--- a/toolkit/components/antitracking/test/browser/browser_contentBlockingAllowListPrincipal.js
+++ b/toolkit/components/antitracking/test/browser/browser_contentBlockingAllowListPrincipal.js
@@ -90,7 +90,7 @@ function createFrame(browser, src, id, sandboxAttr) {
);
}
-add_task(async setup => {
+add_task(async () => {
// Disable heuristics. We don't need them and if enabled the resulting
// telemetry can race with the telemetry in the next test.
// See Bug 1686836, Bug 1686894.
@@ -108,7 +108,7 @@ add_task(async setup => {
* Test that we get the correct allow list principal which matches the content
* principal for an https site.
*/
-add_task(async test_contentPrincipalHTTPS => {
+add_task(async () => {
await runTestInNormalAndPrivateMode("https://example.com", browser => {
checkAllowListPrincipal(browser, "content");
});
@@ -118,7 +118,7 @@ add_task(async test_contentPrincipalHTTPS => {
* Tests that the scheme of the allowlist principal is HTTPS, even though the
* site is loaded via HTTP.
*/
-add_task(async test_contentPrincipalHTTP => {
+add_task(async () => {
await runTestInNormalAndPrivateMode(
"http://example.net",
(browser, isPrivateBrowsing) => {
@@ -136,7 +136,7 @@ add_task(async test_contentPrincipalHTTP => {
* Tests that the allow list principal is a system principal for the preferences
* about site.
*/
-add_task(async test_systemPrincipal => {
+add_task(async () => {
await runTestInNormalAndPrivateMode("about:preferences", browser => {
checkAllowListPrincipal(browser, "system");
});
@@ -146,7 +146,7 @@ add_task(async test_systemPrincipal => {
* Tests that we get a valid content principal for top level sandboxed pages,
* and not the document principal which is a null principal.
*/
-add_task(async test_TopLevelSandbox => {
+add_task(async () => {
await runTestInNormalAndPrivateMode(
TEST_SANDBOX_URL,
(browser, isPrivateBrowsing) => {
@@ -168,7 +168,7 @@ add_task(async test_TopLevelSandbox => {
* Tests that we get a valid content principal for a new tab opened via
* window.open.
*/
-add_task(async test_windowOpen => {
+add_task(async () => {
await runTestInNormalAndPrivateMode("https://example.com", async browser => {
checkAllowListPrincipal(browser, "content");
@@ -195,7 +195,7 @@ add_task(async test_windowOpen => {
* Tests that we get a valid content principal for a new tab opened via
* window.open from a sandboxed iframe.
*/
-add_task(async test_windowOpenFromSandboxedFrame => {
+add_task(async () => {
await runTestInNormalAndPrivateMode(
"https://example.com",
async (browser, isPrivateBrowsing) => {
diff --git a/toolkit/components/antitracking/test/browser/browser_contentBlockingTelemetry.js b/toolkit/components/antitracking/test/browser/browser_contentBlockingTelemetry.js
index 1e006541c8..8e74c454f0 100644
--- a/toolkit/components/antitracking/test/browser/browser_contentBlockingTelemetry.js
+++ b/toolkit/components/antitracking/test/browser/browser_contentBlockingTelemetry.js
@@ -336,8 +336,7 @@ add_task(async function testTelemetryForUserInteractionHeuristic() {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
// We need to check the document URI here as well for the same
// reason above.
diff --git a/toolkit/components/antitracking/test/browser/browser_cookieBetweenTabs.js b/toolkit/components/antitracking/test/browser/browser_cookieBetweenTabs.js
index 635f145d46..f6a9f7521d 100644
--- a/toolkit/components/antitracking/test/browser/browser_cookieBetweenTabs.js
+++ b/toolkit/components/antitracking/test/browser/browser_cookieBetweenTabs.js
@@ -52,7 +52,7 @@ add_task(async function () {
BrowserTestUtils.removeTab(tab2);
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_denyPermissionForTracker.js b/toolkit/components/antitracking/test/browser/browser_denyPermissionForTracker.js
index cd19fa4466..0c13bdf0fb 100644
--- a/toolkit/components/antitracking/test/browser/browser_denyPermissionForTracker.js
+++ b/toolkit/components/antitracking/test/browser/browser_denyPermissionForTracker.js
@@ -57,7 +57,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_doublyNestedTracker.js b/toolkit/components/antitracking/test/browser/browser_doublyNestedTracker.js
index c15e3abd5f..4f38b29a7d 100644
--- a/toolkit/components/antitracking/test/browser/browser_doublyNestedTracker.js
+++ b/toolkit/components/antitracking/test/browser/browser_doublyNestedTracker.js
@@ -123,7 +123,7 @@ add_task(async function () {
info("Cleaning up.");
SpecialPowers.clearUserPref("network.cookie.sameSite.laxByDefault");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_existingCookiesForSubresources.js b/toolkit/components/antitracking/test/browser/browser_existingCookiesForSubresources.js
index 35e9dfb169..76b5602f7c 100644
--- a/toolkit/components/antitracking/test/browser/browser_existingCookiesForSubresources.js
+++ b/toolkit/components/antitracking/test/browser/browser_existingCookiesForSubresources.js
@@ -228,7 +228,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_firstPartyCookieRejectionHonoursAllowList.js b/toolkit/components/antitracking/test/browser/browser_firstPartyCookieRejectionHonoursAllowList.js
index d3d06d2950..6aaed74331 100644
--- a/toolkit/components/antitracking/test/browser/browser_firstPartyCookieRejectionHonoursAllowList.js
+++ b/toolkit/components/antitracking/test/browser/browser_firstPartyCookieRejectionHonoursAllowList.js
@@ -27,7 +27,7 @@ add_task(async function () {
// The previous function reloads the browser, so wait for it to load again!
await BrowserTestUtils.browserLoaded(browser);
- await SpecialPowers.spawn(browser, [], async function (obj) {
+ await SpecialPowers.spawn(browser, [], async function () {
await new content.Promise(async resolve => {
let document = content.document;
let window = document.defaultView;
@@ -70,7 +70,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js
index a2733f0a53..3d62306b7d 100644
--- a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js
+++ b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess.js
@@ -209,7 +209,7 @@ var testCases = [
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess_alwaysPartition.js
index ea52ff2fad..aca766f673 100644
--- a/toolkit/components/antitracking/test/browser/browser_hasStorageAccess_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_hasStorageAccess_alwaysPartition.js
@@ -218,7 +218,7 @@ var testCases = [
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_localStorageEvents.js b/toolkit/components/antitracking/test/browser/browser_localStorageEvents.js
index b46cc60b91..b7abad2d94 100644
--- a/toolkit/components/antitracking/test/browser/browser_localStorageEvents.js
+++ b/toolkit/components/antitracking/test/browser/browser_localStorageEvents.js
@@ -92,7 +92,7 @@ add_task(async function testLocalStorageEventPropagation() {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -179,7 +179,7 @@ add_task(async function testBlockedLocalStorageEventPropagation() {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_onModifyRequestNotificationForTrackingResources.js b/toolkit/components/antitracking/test/browser/browser_onModifyRequestNotificationForTrackingResources.js
index 0674b87136..a05f1219ba 100644
--- a/toolkit/components/antitracking/test/browser/browser_onModifyRequestNotificationForTrackingResources.js
+++ b/toolkit/components/antitracking/test/browser/browser_onModifyRequestNotificationForTrackingResources.js
@@ -10,8 +10,8 @@
let gExpectedResourcesSeen = 0;
async function onModifyRequest() {
- return new Promise((resolve, reject) => {
- Services.obs.addObserver(function observer(subject, topic, data) {
+ return new Promise(resolve => {
+ Services.obs.addObserver(function observer(subject) {
let httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
let spec = httpChannel.URI.spec;
info("Observed channel for " + spec);
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedConsoleMessage.js b/toolkit/components/antitracking/test/browser/browser_partitionedConsoleMessage.js
index ce74076825..bb8cdce3da 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedConsoleMessage.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedConsoleMessage.js
@@ -73,7 +73,7 @@ add_task(async function runTest() {
info("Clean up");
BrowserTestUtils.removeTab(tab);
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedCookies.js b/toolkit/components/antitracking/test/browser/browser_partitionedCookies.js
index d2d1e87dd4..d2e88795b1 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedCookies.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedCookies.js
@@ -1,7 +1,9 @@
PartitionedStorageHelper.runTestInNormalAndPrivateMode(
"HTTP Cookies",
async (win3rdParty, win1stParty, allowed) => {
- await win3rdParty.fetch("cookies.sjs?3rd").then(r => r.text());
+ await win3rdParty
+ .fetch("cookies.sjs?3rd;Partitioned;Secure")
+ .then(r => r.text());
await win3rdParty
.fetch("cookies.sjs")
.then(r => r.text())
@@ -39,7 +41,7 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -49,7 +51,7 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode(
PartitionedStorageHelper.runTestInNormalAndPrivateMode(
"DOM Cookies",
async (win3rdParty, win1stParty, allowed) => {
- win3rdParty.document.cookie = "foo=3rd";
+ win3rdParty.document.cookie = "foo=3rd;Partitioned;Secure";
is(win3rdParty.document.cookie, "foo=3rd", "3rd party cookie set");
win1stParty.document.cookie = "foo=first";
@@ -72,7 +74,7 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -90,14 +92,14 @@ PartitionedStorageHelper.runPartitioningTestInNormalAndPrivateMode(
// addDataCallback
async (win, value) => {
- win.document.cookie = value;
+ win.document.cookie = value + ";Partitioned;Secure";
return true;
},
// cleanup
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -121,14 +123,16 @@ PartitionedStorageHelper.runPartitioningTestInNormalAndPrivateMode(
// addDataCallback
async (win, value) => {
- await win.fetch("cookies.sjs?" + value).then(r => r.text());
+ await win
+ .fetch("cookies.sjs?" + value + ";Partitioned;Secure")
+ .then(r => r.text());
return true;
},
// cleanup
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedDOMCache.js b/toolkit/components/antitracking/test/browser/browser_partitionedDOMCache.js
index 8f901e2977..920f0a1849 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedDOMCache.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedDOMCache.js
@@ -25,7 +25,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -38,7 +38,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"DOMCache",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
await win1stParty.caches.open("wow").then(
async cache => {
ok(true, "DOM Cache should be available");
@@ -62,7 +62,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -76,9 +76,9 @@ PartitionedStorageHelper.runTest(
// Test that DOM cache is also available in PBM.
PartitionedStorageHelper.runTest(
"DOMCache",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
await win1stParty.caches.open("wow").then(
- async cache => {
+ async () => {
ok(true, "DOM Cache should be available in PBM");
},
_ => {
@@ -87,7 +87,7 @@ PartitionedStorageHelper.runTest(
);
await win3rdParty.caches.open("wow").then(
- async cache => {
+ async () => {
ok(true, "DOM Cache should be available in PBM");
},
_ => {
@@ -98,7 +98,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedIndexedDB.js b/toolkit/components/antitracking/test/browser/browser_partitionedIndexedDB.js
index 70dd0b03db..683f90e835 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedIndexedDB.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedIndexedDB.js
@@ -1,6 +1,6 @@
PartitionedStorageHelper.runTest(
"IndexedDB",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
await new Promise(resolve => {
let a = win1stParty.indexedDB.open("test", 1);
ok(!!a, "IDB should not be blocked in 1st party contexts");
@@ -34,7 +34,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -87,7 +87,7 @@ PartitionedStorageHelper.runPartitioningTest(
// cleanup
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage.js b/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage.js
index fe45970132..583f4bacdc 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage.js
@@ -74,7 +74,7 @@ AntiTracking.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -107,7 +107,7 @@ PartitionedStorageHelper.runPartitioningTestInNormalAndPrivateMode(
// cleanup
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage_events.js b/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage_events.js
index 14ca62d062..afbcc79022 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage_events.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedLocalStorage_events.js
@@ -999,7 +999,7 @@ function runAllTests(prefValue) {
// Cleanup data.
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js b/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js
index 21c3c9637d..342a68bf31 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedLockManager.js
@@ -2,7 +2,7 @@
PartitionedStorageHelper.runTest(
"LockManager works in both first and third party contexts",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
let locks = [];
ok(win1stParty.isSecureContext, "1st party is in a secure context");
ok(win3rdParty.isSecureContext, "3rd party is in a secure context");
@@ -20,7 +20,7 @@ PartitionedStorageHelper.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedMessaging.js b/toolkit/components/antitracking/test/browser/browser_partitionedMessaging.js
index 683b1cc874..d08c1f8b7a 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedMessaging.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedMessaging.js
@@ -1,6 +1,6 @@
PartitionedStorageHelper.runTestInNormalAndPrivateMode(
"BroadcastChannel",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
let a = new win3rdParty.BroadcastChannel("hello");
ok(!!a, "BroadcastChannel should be created by 3rd party iframe");
@@ -12,7 +12,7 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js b/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js
index 5fca844dfe..bb9baa460f 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedServiceWorkers.js
@@ -25,7 +25,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -42,7 +42,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - enable partitioning",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Partitioned serviceWorkers are enabled in third-party context.
await win3rdParty.navigator.serviceWorker.register("empty.js").then(
_ => {
@@ -71,7 +71,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -88,7 +88,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - MatchAll",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
if (!win1stParty.sw) {
win1stParty.sw = await registerServiceWorker(win1stParty, "matchAll.js");
}
@@ -113,7 +113,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -130,7 +130,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Partition ScriptContext",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Register service worker for the first-party window.
if (!win1stParty.sw) {
win1stParty.sw = await registerServiceWorker(
@@ -197,7 +197,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -214,7 +214,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Partition DOM Cache",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Register service worker for the first-party window.
if (!win1stParty.sw) {
win1stParty.sw = await registerServiceWorker(
@@ -299,7 +299,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -316,7 +316,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Partition IndexedDB",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Register service worker for the first-party window.
if (!win1stParty.sw) {
win1stParty.sw = await registerServiceWorker(
@@ -383,7 +383,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -400,7 +400,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Partition Intercept",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Register service worker for the first-party window.
if (!win1stParty.sw) {
win1stParty.sw = await registerServiceWorker(
@@ -470,7 +470,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -547,7 +547,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -594,7 +594,7 @@ PartitionedStorageHelper.runTest(
// Post a message to the dedicated worker and wait until the message circles
// back.
await new Promise(resolve => {
- thirdPartyWorker.port.onmessage = msg => {
+ thirdPartyWorker.port.onmessage = () => {
resolve();
};
thirdPartyWorker.onerror = _ => {
@@ -609,7 +609,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -626,7 +626,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Private Browsing with partitioning disabled",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Partitioned serviceWorkers are disabled in third-party context.
ok(
!win3rdParty.navigator.serviceWorker,
@@ -640,7 +640,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -661,7 +661,7 @@ PartitionedStorageHelper.runTest(
PartitionedStorageHelper.runTest(
"ServiceWorkers - Private Browsing with partitioning enabled",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// Partitioned serviceWorkers are disabled in third-party context.
ok(
!win3rdParty.navigator.serviceWorker,
@@ -675,7 +675,7 @@ PartitionedStorageHelper.runTest(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js b/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js
index 97c58c5217..10f69a51df 100644
--- a/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js
+++ b/toolkit/components/antitracking/test/browser/browser_partitionedSharedWorkers.js
@@ -1,6 +1,6 @@
PartitionedStorageHelper.runTestInNormalAndPrivateMode(
"SharedWorkers",
- async (win3rdParty, win1stParty, allowed) => {
+ async (win3rdParty, win1stParty) => {
// This test fails if run with an HTTPS 3rd-party URL because the shared worker
// which would start from the window opened from 3rdPartyStorage.html will become
// secure context and per step 11.4.3 of
@@ -40,7 +40,7 @@ PartitionedStorageHelper.runTestInNormalAndPrivateMode(
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows.js b/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows.js
index 69c5902a91..c8b4ac5dcb 100644
--- a/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows.js
+++ b/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows.js
@@ -1,3 +1,6 @@
+// We're using custom message passing so don't have access to Assert.foo
+// everywhere. Disable the linter:
+/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */
AntiTracking.runTest(
"Test whether we receive any persistent permissions in normal windows",
// Blocking callback
@@ -94,7 +97,7 @@ AntiTracking.runTest(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows_alwaysPartition.js
index 99c40bb0de..e2eaa6831a 100644
--- a/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_permissionInNormalWindows_alwaysPartition.js
@@ -1,3 +1,7 @@
+// We're using custom message passing so don't have access to Assert.foo
+// everywhere. Disable the linter:
+/* eslint-disable mozilla/no-comparison-or-assignment-inside-ok */
+
AntiTracking.runTest(
"Test whether we receive any persistent permissions in normal windows",
// Blocking callback
@@ -94,7 +98,7 @@ AntiTracking.runTest(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows.js b/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows.js
index 84f8d82420..3786634cc2 100644
--- a/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows.js
+++ b/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows.js
@@ -35,7 +35,7 @@ AntiTracking.runTest(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows_alwaysPartition.js
index 6ebcfae5a2..352dbae11d 100644
--- a/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_permissionInPrivateWindows_alwaysPartition.js
@@ -35,7 +35,7 @@ AntiTracking.runTest(
// Cleanup callback
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_permissionPropagation.js b/toolkit/components/antitracking/test/browser/browser_permissionPropagation.js
index 73dc9e7145..fb869087cd 100644
--- a/toolkit/components/antitracking/test/browser/browser_permissionPropagation.js
+++ b/toolkit/components/antitracking/test/browser/browser_permissionPropagation.js
@@ -229,7 +229,7 @@ add_task(async function testPermissionGrantedOn3rdParty() {
let browser4 = gBrowser.getBrowserForTab(tab4);
info("Grant storage permission to the first iframe in the first tab");
- await SpecialPowers.spawn(browser1, [page, msg], async function (page, msg) {
+ await SpecialPowers.spawn(browser1, [page, msg], async function () {
await new content.Promise(resolve => {
content.addEventListener("message", function msg(event) {
if (event.data.type == "finish") {
@@ -289,7 +289,7 @@ add_task(async function testPermissionGrantedOn3rdParty() {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -419,7 +419,7 @@ add_task(async function testPermissionGrantedOnFirstParty() {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js b/toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js
index e9030b98e4..7e5bba37bb 100644
--- a/toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js
+++ b/toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js
@@ -627,7 +627,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_script.js b/toolkit/components/antitracking/test/browser/browser_script.js
index ef6c7f67c6..952e26c1d4 100644
--- a/toolkit/components/antitracking/test/browser/browser_script.js
+++ b/toolkit/components/antitracking/test/browser/browser_script.js
@@ -217,7 +217,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js b/toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js
index b35fbea8c7..89eeeb089e 100644
--- a/toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js
+++ b/toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js
@@ -30,7 +30,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -74,7 +74,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -108,7 +108,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -137,7 +137,7 @@ AntiTracking.runTest(
},
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js b/toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js
index e7389b1456..1c74adc0a3 100644
--- a/toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js
+++ b/toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js
@@ -13,7 +13,7 @@ const TEST_IMAGE_URL =
"http://social-tracking.example.org/browser/toolkit/components/antitracking/test/browser/raptor.jpg";
let MockFilePicker = SpecialPowers.MockFilePicker;
-MockFilePicker.init(window);
+MockFilePicker.init(window.browsingContext);
const tempDir = createTemporarySaveDirectory();
MockFilePicker.displayDirectory = tempDir;
diff --git a/toolkit/components/antitracking/test/browser/browser_staticPartition_cache.js b/toolkit/components/antitracking/test/browser/browser_staticPartition_cache.js
index 4d3a72d7a7..9afe3180fb 100644
--- a/toolkit/components/antitracking/test/browser/browser_staticPartition_cache.js
+++ b/toolkit/components/antitracking/test/browser/browser_staticPartition_cache.js
@@ -21,7 +21,7 @@ async function checkCache(suffixes, originAttributes) {
const data = await new Promise(resolve => {
let cacheEntries = [];
let cacheVisitor = {
- onCacheStorageInfo(num, consumption) {},
+ onCacheStorageInfo() {},
onCacheEntryInfo(uri, idEnhance) {
cacheEntries.push({ uri, idEnhance });
},
diff --git a/toolkit/components/antitracking/test/browser/browser_staticPartition_network.js b/toolkit/components/antitracking/test/browser/browser_staticPartition_network.js
index a28f7d5adc..53e410bb03 100644
--- a/toolkit/components/antitracking/test/browser/browser_staticPartition_network.js
+++ b/toolkit/components/antitracking/test/browser/browser_staticPartition_network.js
@@ -109,7 +109,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_staticPartition_saveAs.js b/toolkit/components/antitracking/test/browser/browser_staticPartition_saveAs.js
index 22db484e16..daf3234858 100644
--- a/toolkit/components/antitracking/test/browser/browser_staticPartition_saveAs.js
+++ b/toolkit/components/antitracking/test/browser/browser_staticPartition_saveAs.js
@@ -16,7 +16,7 @@ const TEST_VIDEO_URL = TEST_DOMAIN + TEST_PATH + "file_saveAsVideo.sjs";
const TEST_PAGEINFO_URL = TEST_DOMAIN + TEST_PATH + "file_saveAsPageInfo.html";
let MockFilePicker = SpecialPowers.MockFilePicker;
-MockFilePicker.init(window);
+MockFilePicker.init(window.browsingContext);
const tempDir = createTemporarySaveDirectory();
MockFilePicker.displayDirectory = tempDir;
@@ -102,6 +102,7 @@ add_task(async function testContextMenuSaveImage() {
set: [
["privacy.partition.network_state", networkIsolation],
["privacy.dynamic_firstparty.use_site", partitionPerSite],
+ ["dom.block_download_insecure", false],
],
});
@@ -197,6 +198,7 @@ add_task(async function testContextMenuSaveVideo() {
set: [
["privacy.partition.network_state", networkIsolation],
["privacy.dynamic_firstparty.use_site", partitionPerSite],
+ ["dom.block_download_insecure", false],
],
});
@@ -370,7 +372,7 @@ add_task(async function testSavePageInOfflineMode() {
// Clean up the cache count on the server side.
await fetch(`${TEST_IMAGE_URL}?result`);
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_staticPartition_tls_session.js b/toolkit/components/antitracking/test/browser/browser_staticPartition_tls_session.js
index e131f71169..b15c9d42e0 100644
--- a/toolkit/components/antitracking/test/browser/browser_staticPartition_tls_session.js
+++ b/toolkit/components/antitracking/test/browser/browser_staticPartition_tls_session.js
@@ -29,7 +29,7 @@ async function waitForLoad(url) {
return new Promise(resolve => {
const TOPIC = "http-on-examine-response";
- function observer(subject, topic, data) {
+ function observer(subject, topic) {
if (topic != TOPIC) {
return;
}
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessDoorHanger.js b/toolkit/components/antitracking/test/browser/browser_storageAccessDoorHanger.js
index c922234ed2..715064aa43 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessDoorHanger.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessDoorHanger.js
@@ -305,7 +305,7 @@ async function cleanUp() {
info("Cleaning up.");
SpecialPowers.clearUserPref("network.cookie.sameSite.laxByDefault");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js b/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js
index 9594fdf270..df3602710a 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessPrivilegeAPI.js
@@ -62,7 +62,7 @@ function runScriptInSubFrame(browser, id, script) {
}
function waitStoragePermission(trackingOrigin) {
- return TestUtils.topicObserved("perm-changed", (aSubject, aData) => {
+ return TestUtils.topicObserved("perm-changed", aSubject => {
let permission = aSubject.QueryInterface(Ci.nsIPermission);
let uri = Services.io.newURI(TEST_DOMAIN);
return (
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction.js b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction.js
index 835c02e262..f95d760be2 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction.js
@@ -17,7 +17,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction_alwaysPartition.js
index 21bf8b7639..d1006d2328 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseRejectHandlerUserInteraction_alwaysPartition.js
@@ -17,7 +17,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseResolveHandlerUserInteraction.js b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseResolveHandlerUserInteraction.js
index 6db7c4c241..3f44dd9868 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseResolveHandlerUserInteraction.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessPromiseResolveHandlerUserInteraction.js
@@ -26,7 +26,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe.js b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe.js
index f658dde790..c3f8b68ab1 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe.js
@@ -19,7 +19,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe_alwaysPartition.js
index b4355f2a24..1157865cd4 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateSubframe_alwaysPartition.js
@@ -19,7 +19,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe.js b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe.js
index fe79a8d935..06faf41f26 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe.js
@@ -19,7 +19,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe_alwaysPartition.js
index 63a0480e83..1cde2c8df3 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessRemovalNavigateTopframe_alwaysPartition.js
@@ -19,7 +19,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed.js b/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed.js
index 85c0d60955..b2aa623d96 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed.js
@@ -22,7 +22,7 @@ AntiTracking.runTest(
Services.io.newURI(TEST_3RD_PARTY_DOMAIN).host,
true,
Ci.nsIClearDataService.CLEAR_PERMISSIONS,
- value => resolve()
+ () => resolve()
);
});
},
@@ -206,7 +206,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -239,7 +239,7 @@ AntiTracking.runTest(
Services.io.newURI(TEST_3RD_PARTY_DOMAIN).host,
true,
Ci.nsIClearDataService.CLEAR_PERMISSIONS,
- value => resolve()
+ () => resolve()
);
});
},
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed_alwaysPartition.js
index 1b7f2cdf37..97c4851128 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessSandboxed_alwaysPartition.js
@@ -22,7 +22,7 @@ AntiTracking.runTest(
Services.io.newURI(TEST_3RD_PARTY_DOMAIN).host,
true,
Ci.nsIClearDataService.CLEAR_PERMISSIONS,
- value => resolve()
+ () => resolve()
);
});
},
@@ -205,7 +205,7 @@ AntiTracking.runTest(
// cleanup function
async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -238,7 +238,7 @@ AntiTracking.runTest(
Services.io.newURI(TEST_3RD_PARTY_DOMAIN).host,
true,
Ci.nsIClearDataService.CLEAR_PERMISSIONS,
- value => resolve()
+ () => resolve()
);
});
},
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js
index 8fd60eb2dc..4793ed9325 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks.js
@@ -54,7 +54,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -85,7 +85,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -116,7 +116,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js
index bf66b515c4..f31c7893d0 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessThirdPartyChecks_alwaysPartition.js
@@ -59,7 +59,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -87,7 +87,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -115,7 +115,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessWithDynamicFpi.js b/toolkit/components/antitracking/test/browser/browser_storageAccessWithDynamicFpi.js
index b5e950cc5f..440d6bb0b0 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessWithDynamicFpi.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessWithDynamicFpi.js
@@ -32,7 +32,7 @@ const EXCEPTION_LIST_PREF_NAME = "privacy.restrict3rdpartystorage.skip_list";
async function cleanup() {
Services.prefs.clearUserPref(EXCEPTION_LIST_PREF_NAME);
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js b/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js
index 5b68975d03..134fe045e8 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js
@@ -131,7 +131,7 @@ async function runTestWindowOpenHeuristic(disableHeuristics) {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -216,7 +216,7 @@ add_task(async function testDoublyNestedWindowOpenHeuristic() {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -296,8 +296,7 @@ async function runTestUserInteractionHeuristic(disableHeuristics) {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
// We need to check the document URI for Fission. It's because the
// 'domwindowclosed' would be triggered twice, one for the
@@ -418,8 +417,7 @@ async function runTestUserInteractionHeuristic(disableHeuristics) {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
// We need to check the document URI here as well for the same
// reason above.
@@ -479,7 +477,7 @@ async function runTestUserInteractionHeuristic(disableHeuristics) {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -564,8 +562,7 @@ add_task(async function testDoublyNestedUserInteractionHeuristic() {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
if (aTopic == "domwindowclosed") {
Services.ww.unregisterNotification(notification);
@@ -674,8 +671,7 @@ add_task(async function testDoublyNestedUserInteractionHeuristic() {
let windowClosed = new content.Promise(resolve => {
Services.ww.registerNotification(function notification(
aSubject,
- aTopic,
- aData
+ aTopic
) {
if (aTopic == "domwindowclosed") {
Services.ww.unregisterNotification(notification);
@@ -732,7 +728,7 @@ add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
@@ -893,7 +889,7 @@ async function runTestFirstPartyWindowOpenHeuristic(disableHeuristics) {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Arguments.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Arguments.js
index a88fc8bcb3..3356ef00dd 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Arguments.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Arguments.js
@@ -110,7 +110,7 @@ add_task(async function testArgumentInCompleteStorageAccessRequest() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookieBehavior.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookieBehavior.js
index ea44a34f24..17b1673422 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookieBehavior.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookieBehavior.js
@@ -405,7 +405,7 @@ add_task(
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookiePermission.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookiePermission.js
index 64ead20020..3debdc4580 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookiePermission.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CookiePermission.js
@@ -167,7 +167,7 @@ add_task(
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CrossOriginSameSite.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CrossOriginSameSite.js
index ca3e47d8e7..933b42a106 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CrossOriginSameSite.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_CrossOriginSameSite.js
@@ -155,7 +155,7 @@ add_task(async function testIntermediatePreferenceWriteCrossOrigin() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Doorhanger.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Doorhanger.js
index e8d6ce9bb1..b8eec5f466 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Doorhanger.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Doorhanger.js
@@ -6,7 +6,7 @@ Services.scriptloader.loadSubScript(
async function cleanUp() {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Embed.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Embed.js
index 86f584763c..fc93d41666 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Embed.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Embed.js
@@ -148,7 +148,7 @@ add_task(async function cSAR_crossSiteIframe() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Enable.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Enable.js
index 6ee61cc378..e01c52388e 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Enable.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_Enable.js
@@ -79,7 +79,7 @@ add_task(async function testExplicitlyEnabled() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_RequireIntermediatePermission.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_RequireIntermediatePermission.js
index a5cc6f10b5..94a2522f7e 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_RequireIntermediatePermission.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_RequireIntermediatePermission.js
@@ -54,7 +54,7 @@ add_task(async function testIntermediatePermissionRequired() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_StorageAccessPermission.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_StorageAccessPermission.js
index 0b4f3e7273..ae24234d1f 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_StorageAccessPermission.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_StorageAccessPermission.js
@@ -87,7 +87,7 @@ add_task(
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_UserActivation.js b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_UserActivation.js
index 49dd73fbf7..2e1f246f2e 100644
--- a/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_UserActivation.js
+++ b/toolkit/components/antitracking/test/browser/browser_storageAccess_TopLevel_UserActivation.js
@@ -56,7 +56,7 @@ add_task(async function testUserActivations() {
add_task(async () => {
Services.perms.removeAll();
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_subResources.js b/toolkit/components/antitracking/test/browser/browser_subResources.js
index 4841527d19..1b85aabb24 100644
--- a/toolkit/components/antitracking/test/browser/browser_subResources.js
+++ b/toolkit/components/antitracking/test/browser/browser_subResources.js
@@ -270,7 +270,7 @@ add_task(async function () {
info("Cleaning up.");
SpecialPowers.clearUserPref("network.cookie.sameSite.laxByDefault");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned.js b/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned.js
index b2de150075..ad76be6e54 100644
--- a/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned.js
+++ b/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned.js
@@ -301,7 +301,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned_alwaysPartition.js
index 53a90854b3..9e1a573418 100644
--- a/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_subResourcesPartitioned_alwaysPartition.js
@@ -306,7 +306,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_thirdPartyStorageRejectionForCORS.js b/toolkit/components/antitracking/test/browser/browser_thirdPartyStorageRejectionForCORS.js
index f609c2d5b0..47f102d054 100644
--- a/toolkit/components/antitracking/test/browser/browser_thirdPartyStorageRejectionForCORS.js
+++ b/toolkit/components/antitracking/test/browser/browser_thirdPartyStorageRejectionForCORS.js
@@ -48,7 +48,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping.js b/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping.js
index 642b5d2cbd..f00ddcd4de 100644
--- a/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping.js
+++ b/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping.js
@@ -246,7 +246,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping_alwaysPartition.js b/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping_alwaysPartition.js
index 2fbac9811b..d66a84d1ad 100644
--- a/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping_alwaysPartition.js
+++ b/toolkit/components/antitracking/test/browser/browser_urlDecorationStripping_alwaysPartition.js
@@ -248,7 +248,7 @@ AntiTracking._createTask({
add_task(async _ => {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping.js b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping.js
index 6395110f41..567158dadc 100644
--- a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping.js
+++ b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping.js
@@ -43,7 +43,7 @@ const TEST_CASES = [
let listService;
function observeChannel(uri, expected) {
- return TestUtils.topicObserved("http-on-modify-request", (subject, data) => {
+ return TestUtils.topicObserved("http-on-modify-request", subject => {
let channel = subject.QueryInterface(Ci.nsIHttpChannel);
let channelURI = channel.URI;
diff --git a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_allowList.js b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_allowList.js
index 6dee6cede0..839d6980d1 100644
--- a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_allowList.js
+++ b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_allowList.js
@@ -15,7 +15,7 @@ const TEST_REDIRECT_URI = TEST_DOMAIN + TEST_PATH + "redirect.sjs";
const TEST_QUERY_STRING = "paramToStrip=1";
function observeChannel(uri, expected) {
- return TestUtils.topicObserved("http-on-before-connect", (subject, data) => {
+ return TestUtils.topicObserved("http-on-before-connect", subject => {
let channel = subject.QueryInterface(Ci.nsIHttpChannel);
let channelURI = channel.URI;
diff --git a/toolkit/components/antitracking/test/browser/browser_userInteraction.js b/toolkit/components/antitracking/test/browser/browser_userInteraction.js
index d343a56731..c024f4d9f7 100644
--- a/toolkit/components/antitracking/test/browser/browser_userInteraction.js
+++ b/toolkit/components/antitracking/test/browser/browser_userInteraction.js
@@ -40,7 +40,7 @@ add_task(async function () {
"Before user-interaction we don't have a permission"
);
- let promise = TestUtils.topicObserved("perm-changed", (aSubject, aData) => {
+ let promise = TestUtils.topicObserved("perm-changed", aSubject => {
let permission = aSubject.QueryInterface(Ci.nsIPermission);
return (
permission.type == "storageAccessAPI" &&
@@ -59,7 +59,7 @@ add_task(async function () {
// Let's see if the document is able to update the permission correctly.
for (var i = 0; i < 3; ++i) {
// Another perm-changed event should be triggered by the timer.
- promise = TestUtils.topicObserved("perm-changed", (aSubject, aData) => {
+ promise = TestUtils.topicObserved("perm-changed", aSubject => {
let permission = aSubject.QueryInterface(Ci.nsIPermission);
return (
permission.type == "storageAccessAPI" &&
@@ -84,7 +84,7 @@ add_task(async function () {
promise = new Promise(resolve => {
let id;
- function observer(subject, topic, data) {
+ function observer() {
ok(false, "Notification received!");
Services.obs.removeObserver(observer, "perm-changed");
clearTimeout(id);
@@ -117,7 +117,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/browser_workerPropagation.js b/toolkit/components/antitracking/test/browser/browser_workerPropagation.js
index 54ec0c1bf6..4f92a0450b 100644
--- a/toolkit/components/antitracking/test/browser/browser_workerPropagation.js
+++ b/toolkit/components/antitracking/test/browser/browser_workerPropagation.js
@@ -80,7 +80,7 @@ add_task(async function () {
add_task(async function () {
info("Cleaning up.");
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/file_saveAsPageInfo.html b/toolkit/components/antitracking/test/browser/file_saveAsPageInfo.html
index aa3de2a555..8f22e911e7 100644
--- a/toolkit/components/antitracking/test/browser/file_saveAsPageInfo.html
+++ b/toolkit/components/antitracking/test/browser/file_saveAsPageInfo.html
@@ -1,6 +1,6 @@
<html>
<body>
- <img src="http://example.net/browser/toolkit/components/antitracking/test/browser/raptor.jpg" id="image1">
- <video src="http://example.net/browser/toolkit/components/antitracking/test/browser/file_video.ogv" id="video1"> </video>
+ <img src="https://example.net/browser/toolkit/components/antitracking/test/browser/raptor.jpg" id="image1">
+ <video src="https://example.net/browser/toolkit/components/antitracking/test/browser/file_video.ogv" id="video1"> </video>
</body>
</html>
diff --git a/toolkit/components/antitracking/test/browser/head.js b/toolkit/components/antitracking/test/browser/head.js
index d7721b7cac..415da8177f 100644
--- a/toolkit/components/antitracking/test/browser/head.js
+++ b/toolkit/components/antitracking/test/browser/head.js
@@ -14,6 +14,7 @@ const TEST_DOMAIN_5 = "http://test/";
const TEST_DOMAIN_6 = "http://mochi.test:8888/";
const TEST_DOMAIN_7 = "http://example.com/";
const TEST_DOMAIN_8 = "http://www.example.com/";
+const TEST_DOMAIN_9 = "https://example.org:443/";
const TEST_3RD_PARTY_DOMAIN = "https://tracking.example.org/";
const TEST_3RD_PARTY_DOMAIN_HTTP = "http://tracking.example.org/";
const TEST_3RD_PARTY_DOMAIN_TP = "https://tracking.example.com/";
@@ -40,6 +41,7 @@ const TEST_TOP_PAGE_5 = TEST_DOMAIN_5 + TEST_PATH + "page.html";
const TEST_TOP_PAGE_6 = TEST_DOMAIN_6 + TEST_PATH + "page.html";
const TEST_TOP_PAGE_7 = TEST_DOMAIN_7 + TEST_PATH + "page.html";
const TEST_TOP_PAGE_8 = TEST_DOMAIN_8 + TEST_PATH + "page.html";
+const TEST_TOP_PAGE_9 = TEST_DOMAIN_9 + TEST_PATH + "page.html";
const TEST_EMBEDDER_PAGE = TEST_DOMAIN + TEST_PATH + "embedder.html";
const TEST_POPUP_PAGE = TEST_DOMAIN + TEST_PATH + "popup.html";
const TEST_IFRAME_PAGE = TEST_DOMAIN + TEST_PATH + "iframe.html";
diff --git a/toolkit/components/antitracking/test/browser/imageCacheWorker.js b/toolkit/components/antitracking/test/browser/imageCacheWorker.js
index d11221112c..6b2b57d908 100644
--- a/toolkit/components/antitracking/test/browser/imageCacheWorker.js
+++ b/toolkit/components/antitracking/test/browser/imageCacheWorker.js
@@ -71,7 +71,7 @@ add_task(async _ => {
});
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/localStorage.html b/toolkit/components/antitracking/test/browser/localStorage.html
index e08c25f2c4..6ba733a31d 100644
--- a/toolkit/components/antitracking/test/browser/localStorage.html
+++ b/toolkit/components/antitracking/test/browser/localStorage.html
@@ -50,7 +50,7 @@ if (parent) {
}
};
- window.addEventListener("storage", e => {
+ window.addEventListener("storage", () => {
let fromOpener = localStorage.foo.startsWith("opener");
let status;
diff --git a/toolkit/components/antitracking/test/browser/partitionedstorage_head.js b/toolkit/components/antitracking/test/browser/partitionedstorage_head.js
index d37b8177c4..15ba20fd68 100644
--- a/toolkit/components/antitracking/test/browser/partitionedstorage_head.js
+++ b/toolkit/components/antitracking/test/browser/partitionedstorage_head.js
@@ -141,6 +141,7 @@ this.PartitionedStorageHelper = {
await SpecialPowers.pushPrefEnv({
set: [
["dom.storage_access.enabled", true],
+ ["network.cookie.cookieBehavior.optInPartitioning", true],
[
"privacy.partition.always_partition_third_party_non_cookie_storage",
true,
@@ -164,14 +165,14 @@ this.PartitionedStorageHelper = {
}
info("Creating the first tab");
- let tab1 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE);
+ let tab1 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE_HTTPS);
win.gBrowser.selectedTab = tab1;
let browser1 = win.gBrowser.getBrowserForTab(tab1);
await BrowserTestUtils.browserLoaded(browser1);
info("Creating the second tab");
- let tab2 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE_6);
+ let tab2 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE_9);
win.gBrowser.selectedTab = tab2;
let browser2 = win.gBrowser.getBrowserForTab(tab2);
@@ -180,7 +181,7 @@ this.PartitionedStorageHelper = {
info("Creating the third tab");
let tab3 = BrowserTestUtils.addTab(
win.gBrowser,
- TEST_4TH_PARTY_PARTITIONED_PAGE
+ TEST_4TH_PARTY_PARTITIONED_PAGE_HTTPS
);
win.gBrowser.selectedTab = tab3;
@@ -189,7 +190,7 @@ this.PartitionedStorageHelper = {
// Use the same URL as first tab to check partitioned data
info("Creating the forth tab");
- let tab4 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE);
+ let tab4 = BrowserTestUtils.addTab(win.gBrowser, TEST_TOP_PAGE_HTTPS);
win.gBrowser.selectedTab = tab4;
let browser4 = win.gBrowser.getBrowserForTab(tab4);
@@ -207,7 +208,8 @@ this.PartitionedStorageHelper = {
browser,
[
{
- page: TEST_4TH_PARTY_PARTITIONED_PAGE + "?variant=" + variant,
+ page:
+ TEST_4TH_PARTY_PARTITIONED_PAGE_HTTPS + "?variant=" + variant,
getDataCallback: getDataCallback.toString(),
result,
},
@@ -289,7 +291,8 @@ this.PartitionedStorageHelper = {
browser,
[
{
- page: TEST_4TH_PARTY_PARTITIONED_PAGE + "?variant=" + variant,
+ page:
+ TEST_4TH_PARTY_PARTITIONED_PAGE_HTTPS + "?variant=" + variant,
addDataCallback: addDataCallback.toString(),
value,
},
@@ -382,7 +385,7 @@ this.PartitionedStorageHelper = {
async function setStorageAccessForThirdParty(browser) {
info(`Setting permission for ${browser.currentURI.spec}`);
- let type = "3rdPartyStorage^http://not-tracking.example.com";
+ let type = "3rdPartyStorage^https://not-tracking.example.com";
let permission = Services.perms.ALLOW_ACTION;
let expireType = Services.perms.EXPIRE_SESSION;
Services.perms.addFromPrincipal(
diff --git a/toolkit/components/antitracking/test/browser/storage_access_head.js b/toolkit/components/antitracking/test/browser/storage_access_head.js
index ea4f67b4fe..e43f680042 100644
--- a/toolkit/components/antitracking/test/browser/storage_access_head.js
+++ b/toolkit/components/antitracking/test/browser/storage_access_head.js
@@ -246,7 +246,7 @@ async function requestStorageAccessAndExpectFailure() {
async function cleanUpData() {
await new Promise(resolve => {
- Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value =>
+ Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, () =>
resolve()
);
});
diff --git a/toolkit/components/antitracking/test/browser/tracker.js b/toolkit/components/antitracking/test/browser/tracker.js
index 85e943f7c4..eeed80a71b 100644
--- a/toolkit/components/antitracking/test/browser/tracker.js
+++ b/toolkit/components/antitracking/test/browser/tracker.js
@@ -1,4 +1,4 @@
-window.addEventListener("message", e => {
+window.addEventListener("message", () => {
let bc = new BroadcastChannel("a");
bc.postMessage("ready!");
});
diff --git a/toolkit/components/antitracking/test/browser/workerIframe.html b/toolkit/components/antitracking/test/browser/workerIframe.html
index 37aa5d7c0d..c31d9ff854 100644
--- a/toolkit/components/antitracking/test/browser/workerIframe.html
+++ b/toolkit/components/antitracking/test/browser/workerIframe.html
@@ -21,7 +21,7 @@ function is(a, b, msg) {
async function runTest() {
function workerCode() {
- onmessage = e => {
+ onmessage = () => {
try {
indexedDB.open("test", "1");
postMessage(true);
diff --git a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_authhttp.js b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_authhttp.js
index 0492f5ff2a..ddc942f8d8 100644
--- a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_authhttp.js
+++ b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_authhttp.js
@@ -38,7 +38,7 @@ Requestor.prototype = {
return true;
},
- asyncPromptAuth(chan, cb, ctx, lvl, info) {
+ asyncPromptAuth() {
throw Components.Exception("", Cr.NS_ERROR_NOT_IMPLEMENTED);
},
};
diff --git a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_prefetch.js b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_prefetch.js
index f7ec4cc8e3..c9253d33ea 100644
--- a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_prefetch.js
+++ b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_prefetch.js
@@ -34,7 +34,7 @@ async function checkCache(originAttributes) {
const data = await new Promise(resolve => {
let cacheEntries = [];
let cacheVisitor = {
- onCacheStorageInfo(num, consumption) {},
+ onCacheStorageInfo() {},
onCacheEntryInfo(uri, idEnhance) {
cacheEntries.push({ uri, idEnhance });
},
diff --git a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_preload.js b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_preload.js
index 20158f2f7a..0bab966308 100644
--- a/toolkit/components/antitracking/test/xpcshell/test_staticPartition_preload.js
+++ b/toolkit/components/antitracking/test/xpcshell/test_staticPartition_preload.js
@@ -28,7 +28,7 @@ async function checkCache(originAttributes) {
const data = await new Promise(resolve => {
let cacheEntries = [];
let cacheVisitor = {
- onCacheStorageInfo(num, consumption) {},
+ onCacheStorageInfo() {},
onCacheEntryInfo(uri, idEnhance) {
cacheEntries.push({ uri, idEnhance });
},
diff --git a/toolkit/components/antitracking/test/xpcshell/xpcshell.toml b/toolkit/components/antitracking/test/xpcshell/xpcshell.toml
index 86f524ab89..97fbf8fad1 100644
--- a/toolkit/components/antitracking/test/xpcshell/xpcshell.toml
+++ b/toolkit/components/antitracking/test/xpcshell/xpcshell.toml
@@ -26,10 +26,11 @@ skip-if = ["socketprocess_networking"] # Bug 1759035
["test_staticPartition_font.js"]
support-files = ["data/font.woff"]
skip-if = [
- "os == 'linux' && !debug", # Bug 1760086
+ "os == 'linux' && os_version == '18.04' && !debug", # Bug 1760086
"apple_silicon", # bug 1729551
- "os == 'mac' && bits == 64 && !debug", # Bug 1652119
- "os == 'win' && bits == 64 && !debug", # Bug 1652119
+ "apple_catalina && !debug", # Bug 1652119
+ "win10_2009 && bits == 64 && !debug", # Bug 1652119
+ "win11_2009 && bits == 64 && !debug", # Bug 1652119
"socketprocess_networking", # Bug 1759035
]
run-sequentially = "very high failure rate in parallel"