Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / closure_compiler / externs / management.js
blob923317328fc06531632cd5648459865f889280cc
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file was generated by:
6 //   ./tools/json_schema_compiler/compiler.py.
7 // NOTE: The format of types has changed. 'FooType' is now
8 //   'chrome.management.FooType'.
9 // Please run the closure compiler before committing changes.
10 // See https://code.google.com/p/chromium/wiki/ClosureCompilation.
12 /** @fileoverview Externs generated from namespace: management */
14 /**
15  * @const
16  */
17 chrome.management = {};
19 /**
20  * Information about an icon belonging to an extension, app, or theme.
21  * @typedef {{
22  *   size: number,
23  *   url: string
24  * }}
25  * @see https://developer.chrome.com/extensions/management#type-IconInfo
26  */
27 chrome.management.IconInfo;
29 /**
30  * @enum {string}
31  * @see https://developer.chrome.com/extensions/management#type-LaunchType
32  */
33 chrome.management.LaunchType = {
34   OPEN_AS_REGULAR_TAB: 'OPEN_AS_REGULAR_TAB',
35   OPEN_AS_PINNED_TAB: 'OPEN_AS_PINNED_TAB',
36   OPEN_AS_WINDOW: 'OPEN_AS_WINDOW',
37   OPEN_FULL_SCREEN: 'OPEN_FULL_SCREEN',
40 /**
41  * @enum {string}
42  * @see https://developer.chrome.com/extensions/management#type-ExtensionDisabledReason
43  */
44 chrome.management.ExtensionDisabledReason = {
45   UNKNOWN: 'unknown',
46   PERMISSIONS_INCREASE: 'permissions_increase',
49 /**
50  * @enum {string}
51  * @see https://developer.chrome.com/extensions/management#type-ExtensionType
52  */
53 chrome.management.ExtensionType = {
54   EXTENSION: 'extension',
55   HOSTED_APP: 'hosted_app',
56   PACKAGED_APP: 'packaged_app',
57   LEGACY_PACKAGED_APP: 'legacy_packaged_app',
58   THEME: 'theme',
61 /**
62  * @enum {string}
63  * @see https://developer.chrome.com/extensions/management#type-ExtensionInstallType
64  */
65 chrome.management.ExtensionInstallType = {
66   ADMIN: 'admin',
67   DEVELOPMENT: 'development',
68   NORMAL: 'normal',
69   SIDELOAD: 'sideload',
70   OTHER: 'other',
73 /**
74  * Information about an installed extension, app, or theme.
75  * @typedef {{
76  *   id: string,
77  *   name: string,
78  *   shortName: string,
79  *   description: string,
80  *   version: string,
81  *   mayDisable: boolean,
82  *   enabled: boolean,
83  *   disabledReason: (!chrome.management.ExtensionDisabledReason|undefined),
84  *   isApp: boolean,
85  *   type: !chrome.management.ExtensionType,
86  *   appLaunchUrl: (string|undefined),
87  *   homepageUrl: (string|undefined),
88  *   updateUrl: (string|undefined),
89  *   offlineEnabled: boolean,
90  *   optionsUrl: string,
91  *   icons: (!Array<!chrome.management.IconInfo>|undefined),
92  *   permissions: !Array<string>,
93  *   hostPermissions: !Array<string>,
94  *   installType: !chrome.management.ExtensionInstallType,
95  *   launchType: (!chrome.management.LaunchType|undefined),
96  *   availableLaunchTypes: (!Array<!chrome.management.LaunchType>|undefined)
97  * }}
98  * @see https://developer.chrome.com/extensions/management#type-ExtensionInfo
99  */
100 chrome.management.ExtensionInfo;
103  * Returns a list of information about installed extensions and apps.
104  * @param {function(!Array<!chrome.management.ExtensionInfo>):void=} callback
105  * @see https://developer.chrome.com/extensions/management#method-getAll
106  */
107 chrome.management.getAll = function(callback) {};
110  * Returns information about the installed extension, app, or theme that has the
111  * given ID.
112  * @param {string} id The ID from an item of $(ref:management.ExtensionInfo).
113  * @param {function(!chrome.management.ExtensionInfo):void=} callback
114  * @see https://developer.chrome.com/extensions/management#method-get
115  */
116 chrome.management.get = function(id, callback) {};
119  * Returns information about the calling extension, app, or theme. Note: This
120  * function can be used without requesting the 'management' permission in the
121  * manifest.
122  * @param {function(!chrome.management.ExtensionInfo):void=} callback
123  * @see https://developer.chrome.com/extensions/management#method-getSelf
124  */
125 chrome.management.getSelf = function(callback) {};
128  * Returns a list of <a href='permission_warnings'>permission warnings</a> for
129  * the given extension id.
130  * @param {string} id The ID of an already installed extension.
131  * @param {function(!Array<string>):void=} callback
132  * @see https://developer.chrome.com/extensions/management#method-getPermissionWarningsById
133  */
134 chrome.management.getPermissionWarningsById = function(id, callback) {};
137  * Returns a list of <a href='permission_warnings'>permission warnings</a> for
138  * the given extension manifest string. Note: This function can be used without
139  * requesting the 'management' permission in the manifest.
140  * @param {string} manifestStr Extension manifest JSON string.
141  * @param {function(!Array<string>):void=} callback
142  * @see https://developer.chrome.com/extensions/management#method-getPermissionWarningsByManifest
143  */
144 chrome.management.getPermissionWarningsByManifest = function(manifestStr, callback) {};
147  * Enables or disables an app or extension.
148  * @param {string} id This should be the id from an item of
149  *     $(ref:management.ExtensionInfo).
150  * @param {boolean} enabled Whether this item should be enabled or disabled.
151  * @param {function():void=} callback
152  * @see https://developer.chrome.com/extensions/management#method-setEnabled
153  */
154 chrome.management.setEnabled = function(id, enabled, callback) {};
157  * Uninstalls a currently installed app or extension.
158  * @param {string} id This should be the id from an item of
159  *     $(ref:management.ExtensionInfo).
160  * @param {{
161  *   showConfirmDialog: (boolean|undefined)
162  * }=} options
163  * @param {function():void=} callback
164  * @see https://developer.chrome.com/extensions/management#method-uninstall
165  */
166 chrome.management.uninstall = function(id, options, callback) {};
169  * Uninstalls the calling extension. Note: This function can be used without
170  * requesting the 'management' permission in the manifest.
171  * @param {{
172  *   showConfirmDialog: (boolean|undefined)
173  * }=} options
174  * @param {function():void=} callback
175  * @see https://developer.chrome.com/extensions/management#method-uninstallSelf
176  */
177 chrome.management.uninstallSelf = function(options, callback) {};
180  * Launches an application.
181  * @param {string} id The extension id of the application.
182  * @param {function():void=} callback
183  * @see https://developer.chrome.com/extensions/management#method-launchApp
184  */
185 chrome.management.launchApp = function(id, callback) {};
188  * Display options to create shortcuts for an app. On Mac, only packaged app
189  * shortcuts can be created.
190  * @param {string} id This should be the id from an app item of
191  *     $(ref:management.ExtensionInfo).
192  * @param {function():void=} callback
193  * @see https://developer.chrome.com/extensions/management#method-createAppShortcut
194  */
195 chrome.management.createAppShortcut = function(id, callback) {};
198  * Set the launch type of an app.
199  * @param {string} id This should be the id from an app item of
200  *     $(ref:management.ExtensionInfo).
201  * @param {!chrome.management.LaunchType} launchType The target launch type.
202  *     Always check and make sure this launch type is in
203  *     $(ref:ExtensionInfo.availableLaunchTypes), because the available launch
204  *     types vary on different platforms and configurations.
205  * @param {function():void=} callback
206  * @see https://developer.chrome.com/extensions/management#method-setLaunchType
207  */
208 chrome.management.setLaunchType = function(id, launchType, callback) {};
211  * Generate an app for a URL. Returns the generated bookmark app.
212  * @param {string} url The URL of a web page. The scheme of the URL can only be
213  *     "http" or "https".
214  * @param {string} title The title of the generated app.
215  * @param {function(!chrome.management.ExtensionInfo):void=} callback
216  * @see https://developer.chrome.com/extensions/management#method-generateAppForLink
217  */
218 chrome.management.generateAppForLink = function(url, title, callback) {};
221  * Fired when an app or extension has been installed.
222  * @type {!ChromeEvent}
223  * @see https://developer.chrome.com/extensions/management#event-onInstalled
224  */
225 chrome.management.onInstalled;
228  * Fired when an app or extension has been uninstalled.
229  * @type {!ChromeEvent}
230  * @see https://developer.chrome.com/extensions/management#event-onUninstalled
231  */
232 chrome.management.onUninstalled;
235  * Fired when an app or extension has been enabled.
236  * @type {!ChromeEvent}
237  * @see https://developer.chrome.com/extensions/management#event-onEnabled
238  */
239 chrome.management.onEnabled;
242  * Fired when an app or extension has been disabled.
243  * @type {!ChromeEvent}
244  * @see https://developer.chrome.com/extensions/management#event-onDisabled
245  */
246 chrome.management.onDisabled;