diff options
Diffstat (limited to 'toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl')
-rw-r--r-- | toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl b/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl new file mode 100644 index 0000000000..ef5590465a --- /dev/null +++ b/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */ +/* 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" + +[scriptable, uuid(063813a0-85d8-4e77-80ea-b61292c0493d)] +interface nsIInstalledApplication : nsISupports +{ + readonly attribute AString name; + readonly attribute AString publisher; +}; + +[scriptable, uuid(d33ff086-b328-4ae6-aaf5-52d41aa5df38)] +interface nsIAboutThirdParty : nsISupports +{ + /** + * ModuleType flags used by lookupModuleType. + */ + const unsigned long ModuleType_Unknown = 1 << 0; + const unsigned long ModuleType_IME = 1 << 1; + const unsigned long ModuleType_ShellExtension = 1 << 2; + const unsigned long ModuleType_BlockedByUser = 1 << 3; + const unsigned long ModuleType_BlockedByUserAtLaunch = 1 << 4; + + /** + * Returns a bitwise combination of the ModuleType_* flags + * for the given leaf name of a module. + */ + unsigned long lookupModuleType(in AString aLeafName); + + /** + * Returns an object representing an application which includes + * the given path of a module in its installation. + */ + nsIInstalledApplication lookupApplication(in AString aModulePath); + + /** + * Returns true if DynamicBlocklist is available. + */ + readonly attribute bool isDynamicBlocklistAvailable; + + /** + * Returns true if DynamicBlocklist is available but disabled. + */ + readonly attribute bool isDynamicBlocklistDisabled; + + /** + * Add or remove an entry from the dynamic blocklist and save + * the resulting file. + */ + [implicit_jscontext] Promise updateBlocklist(in AString aLeafName, + in boolean aNewBlockStatus); + + /** + * Posts a background task to collect system information and resolves + * the returned promise when the task is finished. + */ + [implicit_jscontext] Promise collectSystemInfo(); + + /** + * Open an OpenFile dialog with given parameters and immediately close it. + * This method should only be used for testing. + */ + void openAndCloseFileDialogForTesting( + in AString aModuleName, in AString aInitialDir, in AString aFilter); +}; |