summaryrefslogtreecommitdiffstats
path: root/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl')
-rw-r--r--toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl68
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);
+};