gecko/toolkit/components/privatebrowsing/nsIPrivateBrowsingTrackingProtectionWhitelist.idl

47 lines
1.5 KiB
Plaintext

/* 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"
interface nsIURI;
/**
* The Private Browsing Tracking Protection service checks a URI against an
* in-memory list of tracking sites.
*/
[scriptable, uuid(c77ddfac-6cd6-43a9-84e8-91682a1a7b18)]
interface nsIPrivateBrowsingTrackingProtectionWhitelist : nsISupports
{
/**
* Add a URI to the list of allowed tracking sites in Private Browsing mode
* (essentially a tracking whitelist). This operation will cause the URI to
* be registered if it does not currently exist. If it already exists, then
* the operation is essentially a no-op.
*
* @param uri the uri to add to the list
*/
void addToAllowList(in nsIURI uri);
/**
* Remove a URI from the list of allowed tracking sites in Private Browsing
* mode (the tracking whitelist). If the URI is not already in the list,
* then the operation is essentially a no-op.
*
* @param uri the uri to remove from the list
*/
void removeFromAllowList(in nsIURI uri);
/**
* Check if a URI exists in the list of allowed tracking sites in Private
* Browsing mode (the tracking whitelist).
*
* @param uri the uri to look for in the list
*/
bool existsInAllowList(in nsIURI uri);
};
%{ C++
#define NS_PBTRACKINGPROTECTIONWHITELIST_CONTRACTID "@mozilla.org/pbm-tp-whitelist;1"
%}