80 lines
2.5 KiB
Text
80 lines
2.5 KiB
Text
/* 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;
|
|
// We only consider a build to be enterprise when certain conditions are
|
|
// met. This value is set between profile-do-change and addons-startup,
|
|
// so it should be usable from most places.
|
|
readonly attribute boolean isEnterprise;
|
|
|
|
boolean 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.
|
|
*/
|
|
boolean 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.
|
|
*/
|
|
boolean 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.
|
|
*/
|
|
boolean isExemptExecutableExtension(in ACString url, in ACString extension);
|
|
};
|