/* 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" %}