diff options
Diffstat (limited to 'toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl')
-rw-r--r-- | toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl b/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl new file mode 100644 index 0000000000..9ade9cb0ea --- /dev/null +++ b/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl @@ -0,0 +1,46 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +[scriptable, uuid(4866F748-29DA-4C10-8EAA-ED2F7851E6B1)] +interface nsIBounceTrackingProtection : nsISupports { + // Reset the global bounce tracking state, including the maps for tracking + // bounce tracker candidates and user activation. + void clearAll(); + + // Clear bounce tracking state for a specific site host and OriginAttributes pair. + [implicit_jscontext] + void clearBySiteHostAndOA(in ACString aSiteHost, in jsval originAttributes); + + // Clear bounce tracking state for a specific site host for all OriginAttributes. + void clearBySiteHost(in ACString aSiteHost); + + // Clear bounce tracking state for a specific time range. + void clearByTimeRange(in PRTime aFrom, in PRTime aTo); + + // Clear bounce tracking state for the given origin attributes. + void clearByOriginAttributesPattern(in AString aPattern); + + // Trigger the bounce tracking timer algorithm that clears state for + // classified bounce trackers. + [implicit_jscontext] + Promise testRunPurgeBounceTrackers(); + + // Getters and setters for user activation and bounce tracker state. + // These are used for testing purposes only. + // State is keyed by OriginAttributes. + + [implicit_jscontext] + Array<ACString> testGetBounceTrackerCandidateHosts(in jsval originAttributes); + + [implicit_jscontext] + Array<ACString> testGetUserActivationHosts(in jsval originAttributes); + + [implicit_jscontext] + void testAddBounceTrackerCandidate(in jsval originAttributes, in ACString aSiteHost, in PRTime aBounceTime); + + [implicit_jscontext] + void testAddUserActivation(in jsval originAttributes, in ACString aSiteHost, in PRTime aActivationTime); +}; |