diff options
Diffstat (limited to '')
-rw-r--r-- | xpcom/system/nsIBlocklistService.idl | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/xpcom/system/nsIBlocklistService.idl b/xpcom/system/nsIBlocklistService.idl new file mode 100644 index 0000000000..42e3799c7c --- /dev/null +++ b/xpcom/system/nsIBlocklistService.idl @@ -0,0 +1,52 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 nsIPluginTag; +interface nsIVariant; + +[scriptable, uuid(a6dcc76e-9f62-4cc1-a470-b483a1a6f096)] +interface nsIBlocklistService : nsISupports +{ + // Indicates that the item does not appear in the blocklist. + const unsigned long STATE_NOT_BLOCKED = 0; + // Indicates that the item is in the blocklist but the problem is not severe + // enough to warant forcibly blocking. + const unsigned long STATE_SOFTBLOCKED = 1; + // Indicates that the item should be blocked and never used. + const unsigned long STATE_BLOCKED = 2; + // Indicates that the item is considered outdated, and there is a known + // update available. + const unsigned long STATE_OUTDATED = 3; + // Indicates that the item is vulnerable and there is an update. + const unsigned long STATE_VULNERABLE_UPDATE_AVAILABLE = 4; + // Indicates that the item is vulnerable and there is no update. + const unsigned long STATE_VULNERABLE_NO_UPDATE = 5; + + // Unused; Please increment if we add more blocklist states. + const unsigned long STATE_MAX = 6; + + /** + * Determine the blocklist state of a plugin + * @param plugin + * The plugin to get the state for + * @param appVersion + * The version of the application we are checking in the blocklist. + * If this parameter is null, the version of the running application + * is used. + * @param toolkitVersion + * The version of the toolkit we are checking in the blocklist. + * If this parameter is null, the version of the running toolkit + * is used. + * @returns Promise that resolves to the STATE constant. + */ + Promise getPluginBlocklistState(in nsIPluginTag plugin, + [optional] in AString appVersion, + [optional] in AString toolkitVersion); + + readonly attribute boolean isLoaded; +}; |