// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file was generated by: // ./tools/json_schema_compiler/compiler.py. // NOTE: The format of types has changed. 'FooType' is now // 'chrome.management.FooType'. // Please run the closure compiler before committing changes. // See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md /** @fileoverview Externs generated from namespace: management */ /** * @const */ chrome.management = {}; /** * Information about an icon belonging to an extension, app, or theme. * @typedef {{ * size: number, * url: string * }} * @see https://developer.chrome.com/extensions/management#type-IconInfo */ chrome.management.IconInfo; /** * @enum {string} * @see https://developer.chrome.com/extensions/management#type-LaunchType */ chrome.management.LaunchType = { OPEN_AS_REGULAR_TAB: 'OPEN_AS_REGULAR_TAB', OPEN_AS_PINNED_TAB: 'OPEN_AS_PINNED_TAB', OPEN_AS_WINDOW: 'OPEN_AS_WINDOW', OPEN_FULL_SCREEN: 'OPEN_FULL_SCREEN', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/management#type-ExtensionDisabledReason */ chrome.management.ExtensionDisabledReason = { UNKNOWN: 'unknown', PERMISSIONS_INCREASE: 'permissions_increase', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/management#type-ExtensionType */ chrome.management.ExtensionType = { EXTENSION: 'extension', HOSTED_APP: 'hosted_app', PACKAGED_APP: 'packaged_app', LEGACY_PACKAGED_APP: 'legacy_packaged_app', THEME: 'theme', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/management#type-ExtensionInstallType */ chrome.management.ExtensionInstallType = { ADMIN: 'admin', DEVELOPMENT: 'development', NORMAL: 'normal', SIDELOAD: 'sideload', OTHER: 'other', }; /** * Information about an installed extension, app, or theme. * @typedef {{ * id: string, * name: string, * shortName: string, * description: string, * version: string, * mayDisable: boolean, * enabled: boolean, * disabledReason: (!chrome.management.ExtensionDisabledReason|undefined), * isApp: boolean, * type: !chrome.management.ExtensionType, * appLaunchUrl: (string|undefined), * homepageUrl: (string|undefined), * updateUrl: (string|undefined), * offlineEnabled: boolean, * optionsUrl: string, * icons: (!Array|undefined), * permissions: !Array, * hostPermissions: !Array, * installType: !chrome.management.ExtensionInstallType, * launchType: (!chrome.management.LaunchType|undefined), * availableLaunchTypes: (!Array|undefined) * }} * @see https://developer.chrome.com/extensions/management#type-ExtensionInfo */ chrome.management.ExtensionInfo; /** * Returns a list of information about installed extensions and apps. * @param {function(!Array):void=} callback * @see https://developer.chrome.com/extensions/management#method-getAll */ chrome.management.getAll = function(callback) {}; /** * Returns information about the installed extension, app, or theme that has the * given ID. * @param {string} id The ID from an item of $(ref:management.ExtensionInfo). * @param {function(!chrome.management.ExtensionInfo):void=} callback * @see https://developer.chrome.com/extensions/management#method-get */ chrome.management.get = function(id, callback) {}; /** * Returns information about the calling extension, app, or theme. Note: This * function can be used without requesting the 'management' permission in the * manifest. * @param {function(!chrome.management.ExtensionInfo):void=} callback * @see https://developer.chrome.com/extensions/management#method-getSelf */ chrome.management.getSelf = function(callback) {}; /** * Returns a list of permission warnings for * the given extension id. * @param {string} id The ID of an already installed extension. * @param {function(!Array):void=} callback * @see https://developer.chrome.com/extensions/management#method-getPermissionWarningsById */ chrome.management.getPermissionWarningsById = function(id, 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. * @param {string} manifestStr Extension manifest JSON string. * @param {function(!Array):void=} callback * @see https://developer.chrome.com/extensions/management#method-getPermissionWarningsByManifest */ chrome.management.getPermissionWarningsByManifest = function(manifestStr, callback) {}; /** * Enables or disables an app or extension. * @param {string} id This should be the id from an item of * $(ref:management.ExtensionInfo). * @param {boolean} enabled Whether this item should be enabled or disabled. * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-setEnabled */ chrome.management.setEnabled = function(id, enabled, callback) {}; /** * Uninstalls a currently installed app or extension. * @param {string} id This should be the id from an item of * $(ref:management.ExtensionInfo). * @param {{ * showConfirmDialog: (boolean|undefined) * }=} options * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-uninstall */ chrome.management.uninstall = function(id, options, callback) {}; /** * Uninstalls the calling extension. Note: This function can be used without * requesting the 'management' permission in the manifest. * @param {{ * showConfirmDialog: (boolean|undefined) * }=} options * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-uninstallSelf */ chrome.management.uninstallSelf = function(options, callback) {}; /** * Launches an application. * @param {string} id The extension id of the application. * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-launchApp */ chrome.management.launchApp = function(id, callback) {}; /** * Display options to create shortcuts for an app. On Mac, only packaged app * shortcuts can be created. * @param {string} id This should be the id from an app item of * $(ref:management.ExtensionInfo). * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-createAppShortcut */ chrome.management.createAppShortcut = function(id, callback) {}; /** * Set the launch type of an app. * @param {string} id This should be the id from an app item of * $(ref:management.ExtensionInfo). * @param {!chrome.management.LaunchType} launchType The target launch type. * Always check and make sure this launch type is in * $(ref:ExtensionInfo.availableLaunchTypes), because the available launch * types vary on different platforms and configurations. * @param {function():void=} callback * @see https://developer.chrome.com/extensions/management#method-setLaunchType */ chrome.management.setLaunchType = function(id, launchType, callback) {}; /** * Generate an app for a URL. Returns the generated bookmark app. * @param {string} url The URL of a web page. The scheme of the URL can only be * "http" or "https". * @param {string} title The title of the generated app. * @param {function(!chrome.management.ExtensionInfo):void=} callback * @see https://developer.chrome.com/extensions/management#method-generateAppForLink */ chrome.management.generateAppForLink = function(url, title, callback) {}; /** * Fired when an app or extension has been installed. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/management#event-onInstalled */ chrome.management.onInstalled; /** * Fired when an app or extension has been uninstalled. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/management#event-onUninstalled */ chrome.management.onUninstalled; /** * Fired when an app or extension has been enabled. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/management#event-onEnabled */ chrome.management.onEnabled; /** * Fired when an app or extension has been disabled. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/management#event-onDisabled */ chrome.management.onDisabled;