1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include
"nsISupports.idl"
9 interface nsIPluginTag
;
12 [scriptable
, uuid(a6dcc76e
-9f62
-4cc1
-a470
-b483a1a6f096
)]
13 interface nsIBlocklistService
: nsISupports
15 // Indicates that the item does not appear in the blocklist.
16 const unsigned long STATE_NOT_BLOCKED
= 0;
17 // Indicates that the item is in the blocklist but the problem is not severe
18 // enough to warant forcibly blocking.
19 const unsigned long STATE_SOFTBLOCKED
= 1;
20 // Indicates that the item should be blocked and never used.
21 const unsigned long STATE_BLOCKED
= 2;
22 // Indicates that the item is considered outdated, and there is a known
24 const unsigned long STATE_OUTDATED
= 3;
25 // Indicates that the item is vulnerable and there is an update.
26 const unsigned long STATE_VULNERABLE_UPDATE_AVAILABLE
= 4;
27 // Indicates that the item is vulnerable and there is no update.
28 const unsigned long STATE_VULNERABLE_NO_UPDATE
= 5;
30 // Unused; Please increment if we add more blocklist states.
31 const unsigned long STATE_MAX
= 6;
34 * Determine the blocklist state of a plugin
36 * The plugin to get the state for
38 * The version of the application we are checking in the blocklist.
39 * If this parameter is null, the version of the running application
41 * @param toolkitVersion
42 * The version of the toolkit we are checking in the blocklist.
43 * If this parameter is null, the version of the running toolkit
45 * @returns Promise that resolves to the STATE constant.
47 Promise getPluginBlocklistState
(in nsIPluginTag plugin
,
48 [optional] in AString appVersion
,
49 [optional] in AString toolkitVersion
);
51 readonly attribute
boolean isLoaded
;