| diff --git b/third_party/closure_compiler/externs/chrome.js a/third_party/closure_compiler/externs/chrome.js |
| index 54cf6b1a2bcc..0619bdce01a4 100644 |
| --- b/third_party/closure_compiler/externs/chrome.js |
| +++ a/third_party/closure_compiler/externs/chrome.js |
| @@ -562,51 +562,6 @@ chrome.webstore.onInstallStageChanged; |
| chrome.webstore.onDownloadProgress; |
| |
| |
| -/** |
| - * @see https://developer.chrome.com/extensions/runtime.html |
| - * @const |
| - */ |
| -chrome.runtime = {}; |
| - |
| - |
| -/** @type {{message:(string|undefined)}|undefined} */ |
| -chrome.runtime.lastError; |
| - |
| - |
| -/** |
| - * @param {string|!Object=} opt_extensionIdOrConnectInfo Either the |
| - * extensionId to connect to, in which case connectInfo params can be |
| - * passed in the next optional argument, or the connectInfo params. |
| - * @param {!Object=} opt_connectInfo The connectInfo object, |
| - * if arg1 was the extensionId to connect to. |
| - * @return {!Port} New port. |
| - */ |
| -chrome.runtime.connect = function( |
| - opt_extensionIdOrConnectInfo, opt_connectInfo) {}; |
| - |
| - |
| -/** |
| - * @param {string|*} extensionIdOrMessage Either the extensionId to send the |
| - * message to, in which case the message is passed as the next arg, or the |
| - * message itself. |
| - * @param {(*|!Object|function(*): void)=} opt_messageOrOptsOrCallback |
| - * One of: |
| - * The message, if arg1 was the extensionId. |
| - * The options for message sending, if arg1 was the message and this |
| - * argument is not a function. |
| - * The callback, if arg1 was the message and this argument is a function. |
| - * @param {(!Object|function(*): void)=} opt_optsOrCallback |
| - * Either the options for message sending, if arg2 was the message, |
| - * or the callback. |
| - * @param {function(*): void=} opt_callback The callback function which |
| - * takes a JSON response object sent by the handler of the request. |
| - * @return {undefined} |
| - */ |
| -chrome.runtime.sendMessage = function( |
| - extensionIdOrMessage, opt_messageOrOptsOrCallback, opt_optsOrCallback, |
| - opt_callback) {}; |
| - |
| - |
| /** |
| * Returns an object representing current load times. Note that the properties |
| * on the object do not change and the function must be called again to get |
| diff --git b/third_party/closure_compiler/externs/chrome_extensions.js a/third_party/closure_compiler/externs/chrome_extensions.js |
| index 41b2f5b485c7..7110aaf8f223 100644 |
| --- b/third_party/closure_compiler/externs/chrome_extensions.js |
| +++ a/third_party/closure_compiler/externs/chrome_extensions.js |
| @@ -233,72 +233,6 @@ if (Math.random() < 1) { // always true but the compiler doesn't know that |
| } |
| |
| |
| -/** |
| - * @see https://developer.chrome.com/extensions/accessibilityFeatures |
| - * @const |
| - */ |
| -chrome.accessibilityFeatures = {}; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.spokenFeedback; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.largeCursor; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.stickyKeys; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.highContrast; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.screenMagnifier; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.autoclick; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.virtualKeyboard; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.caretHighlight; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.cursorHighlight; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.cursorColor; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.dockedMagnifier; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.focusHighlight; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.selectToSpeak; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.switchAccess; |
| - |
| - |
| -/** @type {!ChromeSetting} */ |
| -chrome.accessibilityFeatures.animationPolicy; |
| - |
| |
| /** |
| * @const |
| @@ -2557,6 +2491,49 @@ chrome.extension.onRequest; |
| /** @type {!ChromeEvent} */ |
| chrome.extension.onRequestExternal; |
| |
| +/** |
| + * @see https://developer.chrome.com/extensions/runtime.html |
| + * @const |
| + */ |
| +chrome.runtime = {}; |
| + |
| + |
| +/** @type {{message:(string|undefined)}|undefined} */ |
| +chrome.runtime.lastError; |
| + |
| + |
| +/** |
| + * @param {string|!Object=} opt_extensionIdOrConnectInfo Either the |
| + * extensionId to connect to, in which case connectInfo params can be |
| + * passed in the next optional argument, or the connectInfo params. |
| + * @param {!Object=} opt_connectInfo The connectInfo object, |
| + * if arg1 was the extensionId to connect to. |
| + * @return {!Port} New port. |
| + */ |
| +chrome.runtime.connect = function( |
| + opt_extensionIdOrConnectInfo, opt_connectInfo) {}; |
| + |
| + |
| +/** |
| + * @param {string|*} extensionIdOrMessage Either the extensionId to send the |
| + * message to, in which case the message is passed as the next arg, or the |
| + * message itself. |
| + * @param {(*|!Object|function(*): void)=} opt_messageOrOptsOrCallback |
| + * One of: |
| + * The message, if arg1 was the extensionId. |
| + * The options for message sending, if arg1 was the message and this |
| + * argument is not a function. |
| + * The callback, if arg1 was the message and this argument is a function. |
| + * @param {(!Object|function(*): void)=} opt_optsOrCallback |
| + * Either the options for message sending, if arg2 was the message, |
| + * or the callback. |
| + * @param {function(*): void=} opt_callback The callback function which |
| + * takes a JSON response object sent by the handler of the request. |
| + * @return {undefined} |
| + */ |
| +chrome.runtime.sendMessage = function( |
| + extensionIdOrMessage, opt_messageOrOptsOrCallback, opt_optsOrCallback, |
| + opt_callback) {}; |
| |
| |
| /** @type {string} */ |
| @@ -4380,151 +4357,6 @@ chrome.idle.getAutoLockDelay = function(callback) {}; |
| chrome.idle.onStateChanged; |
| |
| |
| -/** |
| - * Chrome Text-to-Speech API. |
| - * @const |
| - * @see https://developer.chrome.com/extensions/tts.html |
| - */ |
| -chrome.tts = {}; |
| - |
| - |
| - |
| -/** |
| - * An event from the TTS engine to communicate the status of an utterance. |
| - * @constructor |
| - */ |
| -function TtsEvent() {} |
| - |
| - |
| -/** @type {string} */ |
| -TtsEvent.prototype.type; |
| - |
| - |
| -/** @type {number} */ |
| -TtsEvent.prototype.charIndex; |
| - |
| - |
| -/** @type {string} */ |
| -TtsEvent.prototype.errorMessage; |
| - |
| - |
| -/** |
| - * The speech options for the TTS engine. |
| - * @record |
| - * @see https://developer.chrome.com/apps/tts#type-TtsOptions |
| - */ |
| -function TtsOptions() {} |
| - |
| -/** @type {boolean|undefined} */ |
| -TtsOptions.prototype.enqueue; |
| - |
| -/** @type {string|undefined} */ |
| -TtsOptions.prototype.voiceName; |
| - |
| -/** @type {string|undefined} */ |
| -TtsOptions.prototype.extensionId; |
| - |
| -/** @type {string|undefined} */ |
| -TtsOptions.prototype.lang; |
| - |
| -/** @type {number|undefined} */ |
| -TtsOptions.prototype.rate; |
| - |
| -/** @type {number|undefined} */ |
| -TtsOptions.prototype.pitch; |
| - |
| -/** @type {number|undefined} */ |
| -TtsOptions.prototype.volume; |
| - |
| -/** @type {!Array<string>|undefined} */ |
| -TtsOptions.prototype.requiredEventTypes; |
| - |
| -/** @type {!Array<string>|undefined} */ |
| -TtsOptions.prototype.desiredEventTypes; |
| - |
| -/** @type {!function(!TtsEvent)|undefined} */ |
| -TtsOptions.prototype.onEvent; |
| - |
| - |
| -/** |
| - * A description of a voice available for speech synthesis. |
| - * @constructor |
| - */ |
| -function TtsVoice() {} |
| - |
| - |
| -/** @type {string} */ |
| -TtsVoice.prototype.voiceName; |
| - |
| - |
| -/** @type {string} */ |
| -TtsVoice.prototype.lang; |
| - |
| - |
| -/** @type {string} */ |
| -TtsVoice.prototype.gender; |
| - |
| - |
| -/** @type {string} */ |
| -TtsVoice.prototype.extensionId; |
| - |
| - |
| -/** @type {Array<string>} */ |
| -TtsVoice.prototype.eventTypes; |
| - |
| - |
| -/** |
| - * Gets an array of all available voices. |
| - * @param {function(Array<TtsVoice>)=} opt_callback An optional callback |
| - * function. |
| - * @return {undefined} |
| - */ |
| -chrome.tts.getVoices = function(opt_callback) {}; |
| - |
| - |
| -/** |
| - * Checks if the engine is currently speaking. |
| - * @param {function(boolean)=} opt_callback The callback function. |
| - * @return {undefined} |
| - */ |
| -chrome.tts.isSpeaking = function(opt_callback) {}; |
| - |
| - |
| -/** |
| - * Speaks text using a text-to-speech engine. |
| - * @param {string} utterance The text to speak, either plain text or a complete, |
| - * well-formed SSML document. Speech engines that do not support SSML will |
| - * strip away the tags and speak the text. The maximum length of the text is |
| - * 32,768 characters. |
| - * @param {TtsOptions=} options The speech options. |
| - * @param {function()=} callback Called right away, before speech finishes. |
| - * @return {undefined} |
| - */ |
| -chrome.tts.speak = function(utterance, options, callback) {}; |
| - |
| - |
| -/** |
| - * Stops any current speech. |
| - * @return {undefined} |
| - */ |
| -chrome.tts.stop = function() {}; |
| - |
| - |
| -/** |
| - * @const |
| - * @see https://developer.chrome.com/extensions/ttsEngine.html |
| - */ |
| -chrome.ttsEngine = {}; |
| - |
| - |
| -/** @type {!ChromeEvent} */ |
| -chrome.ttsEngine.onSpeak; |
| - |
| - |
| -/** @type {!ChromeEvent} */ |
| -chrome.ttsEngine.onStop; |
| - |
| - |
| /** |
| * @const |
| * @see https://developer.chrome.com/extensions/contentSettings.html |
| @@ -8474,642 +8306,6 @@ chrome.fileSystem.requestFileSystem = function(options, callback) {}; |
| chrome.fileSystem.getVolumeList = function(callback) {}; |
| |
| |
| -/** |
| - * @const |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider |
| - */ |
| -chrome.fileSystemProvider = {}; |
| - |
| - |
| -/** |
| - * @enum {string} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-ChangeType |
| - */ |
| -chrome.fileSystemProvider.ChangeType = { |
| - CHANGED: '', |
| - DELETED: '', |
| -}; |
| - |
| - |
| -/** |
| - * @enum {string} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-CommonActionId |
| - */ |
| -chrome.fileSystemProvider.CommonActionId = { |
| - OFFLINE_NOT_NECESSARY: '', |
| - SAVE_FOR_OFFLINE: '', |
| - SHARE: '', |
| -}; |
| - |
| - |
| -/** |
| - * @enum {string} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-OpenFileMode |
| - */ |
| -chrome.fileSystemProvider.OpenFileMode = { |
| - READ: '', |
| - WRITE: '', |
| -}; |
| - |
| - |
| -/** |
| - * @enum {string} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-ProviderError |
| - */ |
| -chrome.fileSystemProvider.ProviderError = { |
| - ABORT: '', |
| - ACCESS_DENIED: '', |
| - EXISTS: '', |
| - FAILED: '', |
| - INVALID_OPERATION: '', |
| - INVALID_URL: '', |
| - IN_USE: '', |
| - IO: '', |
| - NOT_A_DIRECTORY: '', |
| - NOT_A_FILE: '', |
| - NOT_EMPTY: '', |
| - NOT_FOUND: '', |
| - NO_MEMORY: '', |
| - NO_SPACE: '', |
| - OK: '', |
| - SECURITY: '', |
| - TOO_MANY_OPENED: '', |
| -}; |
| - |
| - |
| -/** |
| - * @constructor |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-EntryMetadata |
| - */ |
| -chrome.fileSystemProvider.EntryMetadata = function() {}; |
| - |
| - |
| -/** @type {boolean|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.isDirectory; |
| - |
| - |
| -/** @type {string|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.name; |
| - |
| - |
| -/** @type {number|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.size; |
| - |
| - |
| -/** @type {!Date|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.modificationTime; |
| - |
| - |
| -/** @type {string|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.mimeType; |
| - |
| - |
| -/** @type {string|undefined} */ |
| -chrome.fileSystemProvider.EntryMetadata.prototype.thumbnail; |
| - |
| - |
| -/** |
| - * @constructor |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#type-FileSystemInfo |
| - */ |
| -chrome.fileSystemProvider.FileSystemInfo = function() {}; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.fileSystemId; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.displayName; |
| - |
| - |
| -/** @type {boolean} */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.writable; |
| - |
| - |
| -/** @type {number} */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.openedFilesLimit; |
| - |
| - |
| -/** |
| - * @type {!Array<{ |
| - * openRequestId: number, |
| - * filePath: string, |
| - * mode: !chrome.fileSystemProvider.OpenFileMode, |
| - * }>} |
| - */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.openedFiles; |
| - |
| - |
| -/** @type {boolean|undefined} */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.supportsNotifyTag; |
| - |
| - |
| -/** |
| - * @type {!Array<!{ |
| - * entryPath: string, |
| - * recursive: boolean, |
| - * lastTag: (string|undefined), |
| - * }>} |
| - */ |
| -chrome.fileSystemProvider.FileSystemInfo.prototype.watchers; |
| - |
| - |
| -/** |
| - * @param {string} fileSystemId |
| - * @param {function(!chrome.fileSystemProvider.FileSystemInfo): void} callback |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-get |
| - */ |
| -chrome.fileSystemProvider.get = function(fileSystemId, callback) {}; |
| - |
| - |
| -/** |
| - * @param {function(!Array<!chrome.fileSystemProvider.FileSystemInfo>): void} |
| - * callback |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-getAll |
| - */ |
| -chrome.fileSystemProvider.getAll = function(callback) {}; |
| - |
| - |
| -/** |
| - * @record |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-mount |
| - */ |
| -chrome.fileSystemProvider.MountOptions; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.fileSystemId; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.displayName; |
| - |
| - |
| -/** @type {boolean|undefined} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.writable; |
| - |
| - |
| -/** @type {number|undefined} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.openedFilesLimit; |
| - |
| - |
| -/** @type {boolean|undefined} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.supportsNotifyTag; |
| - |
| - |
| -/** @type {boolean|undefined} */ |
| -chrome.fileSystemProvider.MountOptions.prototype.persistent; |
| - |
| - |
| -/** |
| - * @param {!chrome.fileSystemProvider.MountOptions} options |
| - * @param {function(): void=} callback |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-mount |
| - */ |
| -chrome.fileSystemProvider.mount = function(options, callback) {}; |
| - |
| - |
| -/** |
| - * @record |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-notify |
| - */ |
| -chrome.fileSystemProvider.NotifyOptions; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.fileSystemId; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.observedPath; |
| - |
| - |
| -/** @type {boolean} */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.recursive; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.ChangeType} */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.changeType; |
| - |
| - |
| -/** |
| - * @type {!Array<{ |
| - * entryPath: string, |
| - * changeType: !chrome.fileSystemProvider.ChangeType, |
| - * }>|undefined} |
| - */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.changes; |
| - |
| - |
| -/** @type {string|undefined} */ |
| -chrome.fileSystemProvider.NotifyOptions.prototype.tag; |
| - |
| - |
| -/** |
| - * @param {!chrome.fileSystemProvider.NotifyOptions} options |
| - * @param {function(): void=} callback |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-notify |
| - */ |
| -chrome.fileSystemProvider.notify = function(options, callback) {}; |
| - |
| - |
| -/** |
| - * @record |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#method-unmount |
| - */ |
| -chrome.fileSystemProvider.UnmountOptions; |
| - |
| - |
| -/** @type {string} */ |
| -chrome.fileSystemProvider.UnmountOptions.prototype.fileSystemId; |
| - |
| - |
| -/** |
| - * @param {!chrome.fileSystemProvider.UnmountOptions} options |
| - * @param {function(): void=} callback |
| - */ |
| -chrome.fileSystemProvider.unmount = function(options, callback) {}; |
| - |
| -/** |
| - * FSP events that don't "return" values to the caller via onSuccess. |
| - * |
| - * @interface |
| - * @template T |
| - * @extends {ChromeBaseEvent<function( |
| - * T, |
| - * function(): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - */ |
| -chrome.fileSystemProvider.VoidBaseEvent; |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * operationRequestId: number, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onAbortRequested |
| - */ |
| -chrome.fileSystemProvider.AbortRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.AbortRequestedEvent} */ |
| -chrome.fileSystemProvider.onAbortRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPath: string, |
| - * recursive: boolean, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onAddWatcherRequested |
| - */ |
| -chrome.fileSystemProvider.AddWatcherRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.AddWatcherRequestedEvent} */ |
| -chrome.fileSystemProvider.onAddWatcherRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * openRequestId: number, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onCloseFileRequested |
| - */ |
| -chrome.fileSystemProvider.CloseFileRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.CloseFileRequestedEvent} */ |
| -chrome.fileSystemProvider.onCloseFileRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onConfigureRequested |
| - */ |
| -chrome.fileSystemProvider.ConfigureRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.ConfigureRequestedEvent} */ |
| -chrome.fileSystemProvider.onConfigureRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * sourcePath: string, |
| - * targetPath: string, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onCopyEntryRequested |
| - */ |
| -chrome.fileSystemProvider.CopyEntryRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.CopyEntryRequestedEvent} */ |
| -chrome.fileSystemProvider.onCopyEntryRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * directoryPath: string, |
| - * recursive: boolean, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onCreateDirectoryRequested |
| - */ |
| -chrome.fileSystemProvider.CreateDirectoryRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.CreateDirectoryRequestedEvent} */ |
| -chrome.fileSystemProvider.onCreateDirectoryRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * filePath: string, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onCreateFileRequested |
| - */ |
| -chrome.fileSystemProvider.CreateFileRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.CreateFileRequestedEvent} */ |
| -chrome.fileSystemProvider.onCreateFileRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPath: string, |
| - * recursive: boolean, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onDeleteEntryRequested |
| - */ |
| -chrome.fileSystemProvider.DeleteEntryRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.DeleteEntryRequestedEvent} */ |
| -chrome.fileSystemProvider.onDeleteEntryRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPaths: !Array<string>, |
| - * actionId: string, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onExecuteActionRequested |
| - */ |
| -chrome.fileSystemProvider.ExecuteActionRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.ExecuteActionRequestedEvent} */ |
| -chrome.fileSystemProvider.onExecuteActionRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {ChromeBaseEvent<function( |
| - * { |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPaths: !Array<string>, |
| - * }, |
| - * function( |
| - * !Array<!{ |
| - * id: (string|chrome.fileSystemProvider.CommonActionId), |
| - * title: (string|undefined), |
| - * }> |
| - * ): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onGetActionsRequested |
| - */ |
| -chrome.fileSystemProvider.GetActionsRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.GetActionsRequestedEvent} */ |
| -chrome.fileSystemProvider.onGetActionsRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {ChromeBaseEvent<function( |
| - * { |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPath: string, |
| - * isDirectory: boolean, |
| - * name: boolean, |
| - * size: boolean, |
| - * modificationTime: boolean, |
| - * mimeType: boolean, |
| - * thumbnail: boolean, |
| - * }, |
| - * function(!chrome.fileSystemProvider.EntryMetadata): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onGetMetadataRequested |
| - */ |
| -chrome.fileSystemProvider.GetMetadataRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.GetMetadataRequestedEvent} */ |
| -chrome.fileSystemProvider.onGetMetadataRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {ChromeBaseEvent<function( |
| - * function(): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onMountRequested |
| - */ |
| -chrome.fileSystemProvider.MountRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.MountRequestedEvent} */ |
| -chrome.fileSystemProvider.onMountRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * sourcePath: string, |
| - * targetPath: string, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onMoveEntryRequested |
| - */ |
| -chrome.fileSystemProvider.MoveEntryRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.MoveEntryRequestedEvent} */ |
| -chrome.fileSystemProvider.onMoveEntryRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * filePath: string, |
| - * mode: chrome.fileSystemProvider.OpenFileMode, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onOpenFileRequested |
| - */ |
| -chrome.fileSystemProvider.OpenFileRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.OpenFileRequestedEvent} */ |
| -chrome.fileSystemProvider.onOpenFileRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {ChromeBaseEvent<function( |
| - * { |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * directoryPath: string, |
| - * isDirectory: boolean, |
| - * name: boolean, |
| - * size: boolean, |
| - * modificationTime: boolean, |
| - * mimeType: boolean, |
| - * thumbnail: boolean, |
| - * }, |
| - * function( |
| - * !Array<!chrome.fileSystemProvider.EntryMetadata>, |
| - * boolean |
| - * ): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onReadDirectoryRequested |
| - */ |
| -chrome.fileSystemProvider.ReadDirectoryRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.ReadDirectoryRequestedEvent} */ |
| -chrome.fileSystemProvider.onReadDirectoryRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {ChromeBaseEvent<function( |
| - * { |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * openRequestId: number, |
| - * offset: number, |
| - * length: number, |
| - * }, |
| - * function(!ArrayBuffer, boolean): void, |
| - * function(!chrome.fileSystemProvider.ProviderError): void |
| - * )>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onReadFileRequested |
| - */ |
| -chrome.fileSystemProvider.ReadFileRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.ReadFileRequestedEvent} */ |
| -chrome.fileSystemProvider.onReadFileRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * entryPath: string, |
| - * recursive: boolean, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onRemoveWatcherRequested |
| - */ |
| -chrome.fileSystemProvider.RemoveWatcherRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.RemoveWatcherRequestedEvent} */ |
| -chrome.fileSystemProvider.onRemoveWatcherRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * filePath: string, |
| - * length: number, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onTruncateRequested |
| - */ |
| -chrome.fileSystemProvider.TruncateRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.TruncateRequestedEvent} */ |
| -chrome.fileSystemProvider.onTruncateRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onUnmountRequested |
| - */ |
| -chrome.fileSystemProvider.UnmountRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.UnmountRequestedEvent} */ |
| -chrome.fileSystemProvider.onUnmountRequested; |
| - |
| - |
| -/** |
| - * @interface |
| - * @extends {chrome.fileSystemProvider.VoidBaseEvent<{ |
| - * fileSystemId: string, |
| - * requestId: number, |
| - * openRequestId: number, |
| - * offset: number, |
| - * data: !ArrayBuffer, |
| - * }>} |
| - * @see https://developer.chrome.com/extensions/fileSystemProvider#event-onWriteFileRequested |
| - */ |
| -chrome.fileSystemProvider.WriteFileRequestedEvent; |
| - |
| - |
| -/** @type {!chrome.fileSystemProvider.WriteFileRequestedEvent} */ |
| -chrome.fileSystemProvider.onWriteFileRequested; |
| - |
| - |
| /** |
| * @const |
| * @see https://developer.chrome.com/apps/syncFileSystem |