chrome.management

Description: The chrome.management API provides ways to manage the list of extensions/apps that are installed and running. It is particularly useful for extensions that override the built-in New Tab page.
Availability: Stable since Chrome 8.
Permissions: "management"

Manifest

You must declare the "management" permission in the extension manifest to use the management API. For example:

      {
        "name": "My extension",
        ...
        "permissions": [
          "management"
        ],
        ...
      }

management.getPermissionWarningsByManifest and management.uninstallSelf do not require the management permission

Summary

Types
IconInfo
ExtensionInfo
Methods
getAll chrome.management.getAll(function callback)
get chrome.management.get(string id, function callback)
getPermissionWarningsById chrome.management.getPermissionWarningsById(string id, function callback)
getPermissionWarningsByManifest chrome.management.getPermissionWarningsByManifest(string manifestStr, function callback)
setEnabled chrome.management.setEnabled(string id, boolean enabled, function callback)
uninstall chrome.management.uninstall(string id, object options, function callback)
uninstallSelf chrome.management.uninstallSelf(object options, function callback)
launchApp chrome.management.launchApp(string id, function callback)
Events
onInstalled
onUninstalled
onEnabled
onDisabled

Types

IconInfo

Information about an icon belonging to an extension, app, or theme.
properties
integer size A number representing the width and height of the icon. Likely values include (but are not limited to) 128, 48, 24, and 16.
string url The URL for this icon image. To display a grayscale version of the icon (to indicate that an extension is disabled, for example), append ?grayscale=true to the URL.

ExtensionInfo

Information about an installed extension, app, or theme.
properties
string id The extension's unique identifier.
string name The name of this extension, app, or theme.
string shortName A short version of the name of this extension, app, or theme.
string description The description of this extension, app, or theme.
string version The version of this extension, app, or theme.
boolean mayDisable Whether this extension can be disabled or uninstalled by the user.
boolean enabled Whether it is currently enabled or disabled.
enum of "unknown", or "permissions_increase" (optional) disabledReason A reason the item is disabled.
boolean isApp

isApp is deprecated. Please use management.ExtensionInfo.type.

True if this is an app.
enum of "extension", "hosted_app", "packaged_app", "legacy_packaged_app", or "theme" type The type of this extension, app, or theme.
string (optional) appLaunchUrl The launch url (only present for apps).
string (optional) homepageUrl The URL of the homepage of this extension, app, or theme.
string (optional) updateUrl The update URL of this extension, app, or theme.
boolean offlineEnabled Whether the extension, app, or theme declares that it supports offline.
string optionsUrl The url for the item's options page, if it has one.
array of IconInfo (optional) icons A list of icon information. Note that this just reflects what was declared in the manifest, and the actual image at that url may be larger or smaller than what was declared, so you might consider using explicit width and height attributes on img tags referencing these images. See the manifest documentation on icons for more details.
array of string permissions Returns a list of API based permissions.
array of string hostPermissions Returns a list of host based permissions.
enum of "admin", "development", "normal", "sideload", or "other" installType How the extension was installed. One of
admin: The extension was installed because of an administrative policy,
development: The extension was loaded unpacked in developer mode,
normal: The extension was installed normally via a .crx file,
sideload: The extension was installed by other software on the machine,
other: The extension was installed by other means.

Methods

getAll

chrome.management.getAll(function callback)

Returns a list of information about installed extensions and apps.

Parameters
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function(array of ExtensionInfo result) {...};
array of ExtensionInfo result

get

chrome.management.get(string id, function callback)

Returns information about the installed extension, app, or theme that has the given ID.

Parameters
string id The ID from an item of management.ExtensionInfo.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function( ExtensionInfo result) {...};
ExtensionInfo result

getPermissionWarningsById

chrome.management.getPermissionWarningsById(string id, function callback)

Returns a list of permission warnings for the given extension id.

Parameters
string id The ID of an already installed extension.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function(array of string permissionWarnings) {...};
array of string permissionWarnings

getPermissionWarningsByManifest

chrome.management.getPermissionWarningsByManifest(string manifestStr, function callback)

Returns a list of permission warnings for the given extension manifest string. Note: This function can be used without requesting the 'management' permission in the manifest.

Parameters
string manifestStr Extension manifest JSON string.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function(array of string permissionWarnings) {...};
array of string permissionWarnings

setEnabled

chrome.management.setEnabled(string id, boolean enabled, function callback)

Enables or disables an app or extension.

Parameters
string id This should be the id from an item of management.ExtensionInfo.
boolean enabled Whether this item should be enabled or disabled.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function() {...};

uninstall

chrome.management.uninstall(string id, object options, function callback)

Uninstalls a currently installed app or extension.

Parameters
string id This should be the id from an item of management.ExtensionInfo.
object (optional) options
boolean (optional) showConfirmDialog Whether or not a confirm-uninstall dialog should prompt the user. Defaults to false.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function() {...};

uninstallSelf

chrome.management.uninstallSelf(object options, function callback)

Uninstalls the calling extension. Note: This function can be used without requesting the 'management' permission in the manifest.

Parameters
object (optional) options
boolean (optional) showConfirmDialog Whether or not a confirm-uninstall dialog should prompt the user. Defaults to false.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function() {...};

launchApp

chrome.management.launchApp(string id, function callback)

Launches an application.

Parameters
string id The extension id of the application.
function (optional) callback

If you specify the callback parameter, it should be a function that looks like this:

function() {...};

Events

onInstalled

Fired when an app or extension has been installed.

addListener

chrome.management.onInstalled.addListener(function callback)
Parameters
function callback

The callback parameter should be a function that looks like this:

function( ExtensionInfo info) {...};
ExtensionInfo info

onUninstalled

Fired when an app or extension has been uninstalled.

addListener

chrome.management.onUninstalled.addListener(function callback)
Parameters
function callback

The callback parameter should be a function that looks like this:

function(string id) {...};
string id The id of the extension, app, or theme that was uninstalled.

onEnabled

Fired when an app or extension has been enabled.

addListener

chrome.management.onEnabled.addListener(function callback)
Parameters
function callback

The callback parameter should be a function that looks like this:

function( ExtensionInfo info) {...};
ExtensionInfo info

onDisabled

Fired when an app or extension has been disabled.

addListener

chrome.management.onDisabled.addListener(function callback)
Parameters
function callback

The callback parameter should be a function that looks like this:

function( ExtensionInfo info) {...};
ExtensionInfo info