summaryrefslogtreecommitdiffstats
path: root/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl')
-rw-r--r--toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl76
1 files changed, 76 insertions, 0 deletions
diff --git a/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl b/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl
new file mode 100644
index 0000000000..03c51af49f
--- /dev/null
+++ b/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl
@@ -0,0 +1,76 @@
+/* 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"
+#include "nsIURI.idl"
+
+[scriptable, uuid(6a568972-cc91-4bf5-963e-3768f3319b8a)]
+interface nsIEnterprisePolicies : nsISupports
+{
+ const short UNINITIALIZED = -1;
+ const short INACTIVE = 0;
+ const short ACTIVE = 1;
+ const short FAILED = 2;
+
+ readonly attribute short status;
+
+ bool isAllowed(in ACString feature);
+
+ /**
+ * Get the active policies that have been successfully parsed.
+ *
+ * @returns A JS object that contains the policies names and
+ * their corresponding parameters.
+ */
+ jsval getActivePolicies();
+
+ /**
+ * Get the contents of the support menu (if applicable)
+ *
+ * @returns A JS object that contains the url and label or null.
+ */
+ jsval getSupportMenu();
+
+ /**
+ * Get the policy for a given extensionID (if available)
+ *
+ * @returns A JS object that contains the storage or null if unavailable.
+ */
+ jsval getExtensionPolicy(in ACString extensionID);
+
+ /**
+ * Retrieves the ExtensionSettings policy for the given extensionID.
+ *
+ * If there is no policy for the extension, it returns the global policy.
+ *
+ * If there is no global policy, it returns null.
+ *
+ * @returns A JS object that settings or null if unavailable.
+ */
+ jsval getExtensionSettings(in ACString extensionID);
+
+ /**
+ * Uses the allowlist, blocklist and settings to determine if an addon
+ * may be installed.
+ *
+ * @returns A boolean - true of the addon may be installed.
+ */
+ bool mayInstallAddon(in jsval addon);
+
+ /**
+ * Uses install_sources to determine if an addon can be installed
+ * from the given URI.
+ *
+ * @returns A boolean - true of the addon may be installed.
+ */
+ bool allowedInstallSource(in nsIURI uri);
+ /**
+ * Uses ExemptDomainFileTypePairsFromFileTypeDownloadWarnings to determine
+ * if a given file extension is exempted from executable behavior and
+ * warnings based on the URL.
+ *
+ * @returns A boolean - true if the extension should be exempt.
+ */
+ bool isExemptExecutableExtension(in ACString url, in ACString extension);
+};