/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* 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" webidl BrowsingContext; [scriptable, builtinclass, uuid(63a0e445-e1ff-41ef-9f8c-0af5b30f894c)] interface nsIScopedPrefs : nsISupports { cenum Pref: 8 { // Represent the tracking protection control prefs. It's comparable to the // privacy.trackingprotection.enabled pref and privacy.trackingprotection.pbmode.enabled // depending on whether we are in private mode. PRIVACY_TRACKINGPROTECTION_ENABLED = 0, NUM_SCOPED_BOOL_PREFS = 1, }; void setBoolPrefScoped(in nsIScopedPrefs_Pref pref, in BrowsingContext bc, in boolean value); boolean getBoolPrefScoped(in nsIScopedPrefs_Pref pref, in BrowsingContext bc); // resets all prefs scoped by the attached browsingContext void clearScoped(); void clearScopedPref(in nsIScopedPrefs_Pref pref); void clearScopedByHost(in AUTF8String aHost); void clearScopedPrefByHost(in nsIScopedPrefs_Pref pref, in AUTF8String aHost); };