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: 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, management.uninstallSelf, and management.getSelf do not require the management permission.

Summary

Types
IconInfo
LaunchType
ExtensionDisabledReason
ExtensionType
ExtensionInstallType
ExtensionInfo
Methods
getAll chrome.management.getAll(function callback)
get chrome.management.get(string id, function callback)
getSelf chrome.management.getSelf(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)
createAppShortcut chrome.management.createAppShortcut(string id, function callback)
setLaunchType chrome.management.setLaunchType(string id, LaunchType launchType, function callback)
generateAppForLink chrome.management.generateAppForLink(string url, string title, 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.

LaunchType

These are all possible app launch types.
Enum
"OPEN_AS_REGULAR_TAB", "OPEN_AS_PINNED_TAB", "OPEN_AS_WINDOW", or "OPEN_FULL_SCREEN"

ExtensionDisabledReason

A reason the item is disabled.
Enum
"unknown", or "permissions_increase"

ExtensionType

The type of this extension, app, or theme.
Enum
"extension", "hosted_app", "packaged_app", "legacy_packaged_app", or "theme"

ExtensionInstallType

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.
Enum
"admin", "development", "normal", "sideload", or "other"

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

Since Chrome 31.

A short version of the name of this extension, app, or theme.

string description

Since Chrome 9.

The description of this extension, app, or theme.

string version

The version of this extension, app, or theme.

boolean mayDisable

Since Chrome 12.

Whether this extension can be disabled or uninstalled by the user.

boolean enabled

Whether it is currently enabled or disabled.

ExtensionDisabledReason (optional) disabledReason

Since Chrome 17.

A reason the item is disabled.

boolean isApp

Deprecated since Chrome 33. Please use management.ExtensionInfo.type.

True if this is an app.

ExtensionType type

Since Chrome 23.

The type of this extension, app, or theme.

string (optional) appLaunchUrl

The launch url (only present for apps).

string (optional) homepageUrl

Since Chrome 11.

The URL of the homepage of this extension, app, or theme.

string (optional) updateUrl

Since Chrome 16.

The update URL of this extension, app, or theme.

boolean offlineEnabled

Since Chrome 15.

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

Since Chrome 9.

Returns a list of API based permissions.

array of string hostPermissions

Since Chrome 9.

Returns a list of host based permissions.

ExtensionInstallType installType

Since Chrome 22.

How the extension was installed.

LaunchType (optional) launchType

Since Chrome 37.

The app launch type (only present for apps).

array of LaunchType (optional) availableLaunchTypes

Since Chrome 37.

The currently available launch types (only present for apps).

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)

Since Chrome 9.

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

getSelf

chrome.management.getSelf(function callback)

Since Chrome 39.

Returns information about the calling extension, app, or theme. Note: This function can be used without requesting the 'management' permission in the manifest.

Parameters
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)

Since Chrome 15.

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)

Since Chrome 15.

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

Since Chrome 21.

boolean (optional) showConfirmDialog

Whether or not a confirm-uninstall dialog should prompt the user. Defaults to false for self uninstalls. If an extension uninstalls another extension, this parameter is ignored and the dialog is always shown.

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)

Since Chrome 26.

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() {...};

createAppShortcut

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

Since Chrome 37.

Display options to create shortcuts for an app. On Mac, only packaged app shortcuts can be created.

Parameters
string id

Since Chrome 36.

This should be the id from an app item of management.ExtensionInfo.

function (optional) callback

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

function() {...};

setLaunchType

chrome.management.setLaunchType(string id, LaunchType launchType, function callback)

Since Chrome 37.

Set the launch type of an app.

Parameters
string id

This should be the id from an app item of management.ExtensionInfo.

LaunchType launchType

The target launch type. Always check and make sure this launch type is in ExtensionInfo.availableLaunchTypes, because the available launch types vary on different platforms and configurations.

function (optional) callback

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

function() {...};
chrome.management.generateAppForLink(string url, string title, function callback)

Since Chrome 37.

Generate an app for a URL. Returns the generated bookmark app.

Parameters

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