From 6ce8c46010e8d392e42a37f3f1b0119558227aaa Mon Sep 17 00:00:00 2001 From: dbeam Date: Fri, 20 Feb 2015 17:07:35 -0800 Subject: closure: update extension externs via bump_compiler_version Other fixes to bump .jars to come. R=tbreisacher@chromium.org BUG=393873 Review URL: https://codereview.chromium.org/935373004 Cr-Commit-Position: refs/heads/master@{#317470} --- third_party/closure_compiler/README.chromium | 2 +- .../closure_compiler/externs/chrome_extensions.js | 705 ++++++++++++++++++++- 2 files changed, 705 insertions(+), 2 deletions(-) diff --git a/third_party/closure_compiler/README.chromium b/third_party/closure_compiler/README.chromium index d9860d0..f918450 100644 --- a/third_party/closure_compiler/README.chromium +++ b/third_party/closure_compiler/README.chromium @@ -24,5 +24,5 @@ Local modifications: See third_party/closure_compiler/runner/how_to_test_compiler_pass.md for testing instructions on this pass. - Use the script third_party/closure_compiler/bump_compiler_version to update - the versions of third_party/closure_compiler/compiler/compiler.jar and + the versions of third_party/closure_compiler/compiler/compiler.jar and/or third_party/closure_compiler/externs/chrome_extensions.js. diff --git a/third_party/closure_compiler/externs/chrome_extensions.js b/third_party/closure_compiler/externs/chrome_extensions.js index cffc487..c95f90e 100644 --- a/third_party/closure_compiler/externs/chrome_extensions.js +++ b/third_party/closure_compiler/externs/chrome_extensions.js @@ -1166,6 +1166,373 @@ chrome.bluetoothSocket.onReceiveError; /** + * @see https://developer.chrome.com/apps/bluetoothLowEnergy + * @const + */ +chrome.bluetoothLowEnergy = {}; + + +/** + * @constructor + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Service + */ +chrome.bluetoothLowEnergy.Service = function() {}; + + +/** @type {string} */ +chrome.bluetoothLowEnergy.Service.prototype.uuid; + + +/** @type {boolean} */ +chrome.bluetoothLowEnergy.Service.prototype.isPrimary; + + +/** @type {string|undefined} */ +chrome.bluetoothLowEnergy.Service.prototype.instanceId; + + +/** @type {string|undefined} */ +chrome.bluetoothLowEnergy.Service.prototype.deviceAddress; + + +/** + * @constructor + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Characteristic + */ +chrome.bluetoothLowEnergy.Characteristic; + + +/** @type {string} */ +chrome.bluetoothLowEnergy.Characteristic.prototype.uuid; + + +/** @type {!chrome.bluetoothLowEnergy.Service} */ +chrome.bluetoothLowEnergy.Characteristic.prototype.service; + + +/** @type {!Array.} */ +chrome.bluetoothLowEnergy.Characteristic.prototype.properties; + + +/** @type {string|undefined} */ +chrome.bluetoothLowEnergy.Characteristic.prototype.instanceId; + + +/** @type {!ArrayBuffer|undefined} */ +chrome.bluetoothLowEnergy.Characteristic.prototype.value; + + +/** + * @constructor + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Descriptor + */ +chrome.bluetoothLowEnergy.Descriptor; + +/** @type {string} */ +chrome.bluetoothLowEnergy.Descriptor.prototype.uuid; + + +/** @type {!chrome.bluetoothLowEnergy.Characteristic} */ +chrome.bluetoothLowEnergy.Descriptor.prototype.characteristic; + + +/** @type {string|undefined} */ +chrome.bluetoothLowEnergy.Descriptor.prototype.instanceId; + + +/** @type {!ArrayBuffer|undefined} */ +chrome.bluetoothLowEnergy.Descriptor.prototype.value; + + +/** + * @typedef {?{ + * persistent: boolean + * }} + */ +chrome.bluetoothLowEnergy.ConnectionProperties; + + +/** + * @param {string} deviceAddress + * @param {!chrome.bluetoothLowEnergy.ConnectionProperties|function()} + * propertiesOrCallback + * @param {function()=} opt_callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-connect + */ +chrome.bluetoothLowEnergy.connect = + function(deviceAddress, propertiesOrCallback, opt_callback) {}; + +/** + * @param {string} deviceAddress + * @param {function()=} opt_callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-disconnect + */ +chrome.bluetoothLowEnergy.disconnect = function(deviceAddress, opt_callback) {}; + + +/** + * @param {string} serviceId + * @param {function(!chrome.bluetoothLowEnergy.Service)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getService + */ +chrome.bluetoothLowEnergy.getService = function(serviceId, callback) {}; + + +/** + * @param {string} deviceAddress + * @param {function(!Array.)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getServices + */ +chrome.bluetoothLowEnergy.getServices = function(deviceAddress, callback) {}; + + +/** + * @param {string} characteristicId + * @param {function(!chrome.bluetoothLowEnergy.Characteristic)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getCharacteristic + */ +chrome.bluetoothLowEnergy.getCharacteristic = + function(characteristicId, callback) {}; + + +/** + * @param {string} serviceId + * @param {function(!Array.)} + * callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getCharacteristics + */ +chrome.bluetoothLowEnergy.getCharacteristics = + function(serviceId, callback) {}; + + +/** + * @param {string} serviceId + * @param {function(!Array.)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getIncludedServices + */ +chrome.bluetoothLowEnergy.getIncludedServices = + function(serviceId, callback) {}; + + +/** + * @param {string} descriptorId + * @param {function(!chrome.bluetoothLowEnergy.Descriptor)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getDescriptor + */ +chrome.bluetoothLowEnergy.getDescriptor = function(descriptorId, callback) {}; + + +/** + * @param {string} characteristicId + * @param {function(!Array.)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getDescriptors + */ +chrome.bluetoothLowEnergy.getDescriptors = + function(characteristicId, callback) {}; + + +/** + * @param {string} characteristicId + * @param {function(!chrome.bluetoothLowEnergy.Characteristic)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-readCharacteristicValue + */ +chrome.bluetoothLowEnergy.readCharacteristicValue = + function(characteristicId, callback) {}; + + +/** + * @param {string} characteristicId + * @param {!ArrayBuffer} value + * @param {function()} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-writeCharacteristicValue + */ +chrome.bluetoothLowEnergy.writeCharacteristicValue = + function(characteristicId, value, callback) {}; + + +/** + * @typedef {?{ + * persistent: boolean + * }} + */ +chrome.bluetoothLowEnergy.NotificationSessionProperties; + +/** + * @param {string} characteristicId + * @param {!chrome.bluetoothLowEnergy.NotificationSessionProperties|function()} + * propertiesOrCallback + * @param {function()=} opt_callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-startCharacteristicNotifications + */ +chrome.bluetoothLowEnergy.startCharacteristicNotifications = + function(characteristicId, propertiesOrCallback, opt_callback) {}; + + +/** + * @param {string} characteristicId + * @param {function()=} opt_callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-stopCharacteristicNotifications + */ +chrome.bluetoothLowEnergy.stopCharacteristicNotifications = + function(characteristicId, opt_callback) {}; + + +/** + * @param {string} descriptorId + * @param {function(!chrome.bluetoothLowEnergy.Descriptor)} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-readDescriptorValue + */ +chrome.bluetoothLowEnergy.readDescriptorValue = + function(descriptorId, callback) {}; + + +/** + * @param {string} descriptorId + * @param {!ArrayBuffer} value + * @param {function()} callback + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-writeDescriptorValue + */ +chrome.bluetoothLowEnergy.writeDescriptorValue = + function(descriptorId, value, callback) {}; + + +/** + * Event whose listeners take a Service parameter. + * @constructor + */ +chrome.bluetoothLowEnergy.ServiceEvent = function() {}; + + +/** @param {function(!chrome.bluetoothLowEnergy.ServiceEvent): void} callback */ +chrome.bluetoothLowEnergy.ServiceEvent.prototype.addListener = + function(callback) {}; + + +/** @param {function(!chrome.bluetoothLowEnergy.ServiceEvent): void} callback */ +chrome.bluetoothLowEnergy.ServiceEvent.prototype.removeListener = + function(callback) {}; + +/** + * @param {function(!chrome.bluetoothLowEnergy.ServiceEvent): void} callback + * @return {boolean} + */ +chrome.bluetoothLowEnergy.ServiceEvent.prototype.hasListener = + function(callback) {}; + + +/** @return {boolean} */ +chrome.bluetoothLowEnergy.ServiceEvent.prototype.hasListeners = + function() {}; + +/** + * @type {!chrome.bluetoothLowEnergy.ServiceEvent} + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceAdded + */ +chrome.bluetoothLowEnergy.onServiceAdded; + + +/** + * @type {!chrome.bluetoothLowEnergy.ServiceEvent} + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceChanged + */ +chrome.bluetoothLowEnergy.onServiceChanged; + + +/** + * @type {!chrome.bluetoothLowEnergy.ServiceEvent} + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceRemoved + */ +chrome.bluetoothLowEnergy.onServiceRemoved; + + +/** + * Event whose listeners take a Characteristic parameter. + * @constructor + */ +chrome.bluetoothLowEnergy.CharacteristicEvent = function() {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.CharacteristicEvent): void} + * callback + */ +chrome.bluetoothLowEnergy.CharacteristicEvent.prototype.addListener = + function(callback) {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.CharacteristicEvent): void} + * callback + */ +chrome.bluetoothLowEnergy.CharacteristicEvent.prototype.removeListener = + function(callback) {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.CharacteristicEvent): void} + * callback + * @return {boolean} + */ +chrome.bluetoothLowEnergy.CharacteristicEvent.prototype.hasListener = + function(callback) {}; + + +/** @return {boolean} */ +chrome.bluetoothLowEnergy.CharacteristicEvent.prototype.hasListeners = + function() {}; + + +/** + * @type {!chrome.bluetoothLowEnergy.CharacteristicEvent} + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onCharacteristicValueChanged + */ +chrome.bluetoothLowEnergy.onCharacteristicValueChanged; + + +/** + * Event whose listeners take a Characteristic parameter. + * @constructor + */ +chrome.bluetoothLowEnergy.DescriptorEvent = function() {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.DescriptorEvent): void} + * callback + */ +chrome.bluetoothLowEnergy.DescriptorEvent.prototype.addListener = + function(callback) {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.DescriptorEvent): void} + * callback + */ +chrome.bluetoothLowEnergy.DescriptorEvent.prototype.removeListener = + function(callback) {}; + + +/** + * @param {function(!chrome.bluetoothLowEnergy.DescriptorEvent): void} callback + * @return {boolean} + */ +chrome.bluetoothLowEnergy.DescriptorEvent.prototype.hasListener = + function(callback) {}; + + +/** @return {boolean} */ +chrome.bluetoothLowEnergy.DescriptorEvent.prototype.hasListeners = + function() {}; + + +/** + * @type {!chrome.bluetoothLowEnergy.DescriptorEvent} + * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onDescriptorValueChanged + */ +chrome.bluetoothLowEnergy.onDescriptorValueChanged; + + +/** * @see http://developer.chrome.com/extensions/commands.html * @const */ @@ -3741,8 +4108,18 @@ chrome.mediaGalleries.getMediaFileSystems = function( */ chrome.mediaGalleries.addUserSelectedFolder = function(callback) {}; + +/** + * @param {string} galleryId ID of the media gallery. + * @param {function()=} opt_callback Optional callback function. + */ +chrome.mediaGalleries.dropPermissionForMediaFileSystem = + function(galleryId, opt_callback) {}; + + chrome.mediaGalleries.startMediaScan = function() {}; + chrome.mediaGalleries.cancelMediaScan = function() {}; @@ -3784,8 +4161,17 @@ chrome.mediaGalleries.getAllMediaFileSystemMetadata = function(callback) {}; * mimeType: string, * height: (number|undefined), * width: (number|undefined), + * xResolution: (number|undefined), + * yResolution: (number|undefined), * duration: (number|undefined), * rotation: (number|undefined), + * cameraMake: (string|undefined), + * cameraModel: (string|undefined), + * exposureTimeSeconds: (number|undefined), + * flashFired: (boolean|undefined), + * fNumber: (number|undefined), + * focalLengthMm: (number|undefined), + * isoEquivalent: (number|undefined), * album: (string|undefined), * artist: (string|undefined), * comment: (string|undefined), @@ -3794,12 +4180,30 @@ chrome.mediaGalleries.getAllMediaFileSystemMetadata = function(callback) {}; * genre: (string|undefined), * language: (string|undefined), * title: (string|undefined), - * track: (number|undefined) + * track: (number|undefined), + * rawTags: !Array., + * attachedImages: !Array. * }} */ chrome.mediaGalleries.MetaData; +/** @const */ +chrome.mediaGalleries.metadata = {}; + + +/** @constructor */ +chrome.mediaGalleries.metadata.RawTag = function() {}; + + +/** @type {string} */ +chrome.mediaGalleries.metadata.RawTag.prototype.type; + + +/** @type {!Object.} */ +chrome.mediaGalleries.metadata.RawTag.prototype.tags; + + /** * @param {!Blob} mediaFile The media file for which to get metadata. * @param {{metadataType: (string|undefined)}| @@ -3815,6 +4219,82 @@ chrome.mediaGalleries.getMetadata = function( /** + * @typedef {function({galleryId: string, success: boolean}): void} + */ +chrome.mediaGalleries.AddGalleryWatchCallback; + + +/** + * @param {string} galleryId The media gallery's ID. + * @param {!chrome.mediaGalleries.AddGalleryWatchCallback} callback Fired with + * success or failure result. + */ +chrome.mediaGalleries.addGalleryWatch = function(galleryId, callback) {}; + + +/** + * @param {string} galleryId The media gallery's ID. + */ +chrome.mediaGalleries.removeGalleryWatch = function(galleryId) {}; + + +/** + * @param {function(!Array.): void} callback Callback function notifies + * which galleries are being watched. + */ +chrome.mediaGalleries.getAllGalleryWatch = function(callback) {}; + + +chrome.mediaGalleries.removeAllGalleryWatch = function() {}; + + + +/** + * @constructor + */ +chrome.mediaGalleries.GalleryChangeEvent = function() {}; + + +/** + * @typedef {function({type: string, galleryId: string}): void} + */ +chrome.mediaGalleries.GalleryChangeCallback; + + +/** + * @param {!chrome.mediaGalleries.GalleryChangeCallback} callback + */ +chrome.mediaGalleries.GalleryChangeEvent.prototype.addListener = + function(callback) {}; + + +/** + * @param {!chrome.mediaGalleries.GalleryChangeCallback} callback + */ +chrome.mediaGalleries.GalleryChangeEvent.prototype.removeListener = + function(callback) {}; + + +/** + * @param {!chrome.mediaGalleries.GalleryChangeCallback} callback + */ +chrome.mediaGalleries.GalleryChangeEvent.prototype.hasListener = + function(callback) {}; + + +/** + * @return {boolean} + */ +chrome.mediaGalleries.GalleryChangeEvent.prototype.hasListeners = function() {}; + + +/** + * @type {!chrome.mediaGalleries.GalleryChangeEvent} + */ +chrome.mediaGalleries.onGalleryChanged; + + +/** * @typedef {{ * type: string, * galleryCount: (number|undefined), @@ -4632,6 +5112,19 @@ chrome.system = {}; /** * @const + * @see https://developer.chrome.com/extensions/system_cpu.html + */ +chrome.system.cpu = {}; + + +/** + * @param {function(!Object)} callback + */ +chrome.system.cpu.getInfo = function(callback) {}; + + +/** + * @const * @see http://developer.chrome.com/apps/system_display.html */ chrome.system.display = {}; @@ -7330,6 +7823,198 @@ chrome.usb.resetDevice = function(handle, callback) {}; /** + * @see https://developer.chrome.com/apps/serial + * @const + */ +chrome.serial = {}; + + + +/** + * @typedef {?{ + * persistent: (boolean|undefined), + * name: (string|undefined), + * bufferSize: (number|undefined), + * bitRate: (number|undefined), + * dataBits: (string|undefined), + * parityBits: (string|undefined), + * stopBits: (string|undefined), + * ctsFlowControl: (boolean|undefined), + * receiveTimeout: (number|undefined), + * sendTimeout: (number|undefined) + * }} + * @see https://developer.chrome.com/apps/serial#type-ConnectionOptions + */ +chrome.serial.ConnectionOptions; + + +/** + * @typedef {?{ + * connectionId: number, + * paused: boolean, + * persistent: boolean, + * name: string, + * bufferSize: number, + * receiveTimeout: number, + * sendTimeout: number, + * bitRate: (number|undefined), + * dataBits: (string|undefined), + * parityBits: (string|undefined), + * stopBits: (string|undefined), + * ctsFlowControl: (boolean|undefined) + * }} + * @see https://developer.chrome.com/apps/serial#type-ConnectionInfo + */ +chrome.serial.ConnectionInfo; + + +/** + * Returns information about available serial devices on the system. The + * list is regenerated each time this method is called. + * @param {function(!Array)} callback Invoked with a + * list of ports on complete. + * @see https://developer.chrome.com/apps/serial#method-getDevices + */ +chrome.serial.getDevices = function(callback) {}; + + +/** + * Connects to a given serial port. + * @param {string} path The system path of the serial port to open. + * @param {!chrome.serial.ConnectionOptions| + * function(!chrome.serial.ConnectionInfo)} optionsOrCallback + * Port configuration options, or the callback invoked with the created + * ConnectionInfo on complete. + * @param {function(!chrome.serial.ConnectionInfo)=} opt_callback Invoked with + * the created ConnectionInfo on complete. + * @see https://developer.chrome.com/apps/serial#method-connect + */ +chrome.serial.connect = function(path, optionsOrCallback, opt_callback) {}; + + +/** + * Update the option settings on an open serial port connection. + * @param {number} connectionId The id of the opened connection. + * @param {!chrome.serial.ConnectionOptions} options Port configuration + * options. + * @param {function(boolean)} callback Called when the configuration has + * completed. + * @see https://developer.chrome.com/apps/serial#method-update + */ +chrome.serial.update = function(connectionId, options, callback) {}; + + +/** + * Disconnects from a serial port. + * @param {number} connectionId The id of the opened connection. + * @param {function(boolean)} callback Called when the connection + * has been closed. + * @see https://developer.chrome.com/apps/serial#method-disconnect + */ +chrome.serial.disconnect = function(connectionId, callback) {}; + + +/** + * Pauses or unpauses an open connection. + * @param {number} connectionId The id of the opened connection. + * @param {boolean} paused Flag to indicate whether to pause or unpause. + * @param {function()} callback Called when the configuration has completed. + * @see https://developer.chrome.com/apps/serial#method-setPaused + */ +chrome.serial.setPaused = function(connectionId, paused, callback) {}; + + +/** + * Retrieves the state of a given connection. + * @param {number} connectionId The id of the opened connection. + * @param {function(!chrome.serial.ConnectionInfo)} callback + * Called with connection state information when available. + * @see https://developer.chrome.com/apps/serial#method-getInfo + */ +chrome.serial.getInfo = function(connectionId, callback) {}; + + +/** + * Retrieves the list of currently opened serial port connections owned by + * the application. + * @param {function(!Array.)} callback + * Called with the list of |ConnectionInfo|s when available. + * @see https://developer.chrome.com/apps/serial#method-getConnections + */ +chrome.serial.getConnections = function(callback) {}; + + +/** + * Writes data to the given connection. + * @param {number} connectionId The id of the opened connection. + * @param {!ArrayBuffer} data The data to send. + * @param {function(!Object)} callback Called when the operation has + * completed. + * @see https://developer.chrome.com/apps/serial#method-send + */ +chrome.serial.send = function(connectionId, data, callback) {}; + + +/** + * Flushes all bytes in the given connection's input and output buffers. + * @param {number} connectionId The id of the opened connection. + * @param {function(boolean)} callback + * @see https://developer.chrome.com/apps/serial#method-flush + */ +chrome.serial.flush = function(connectionId, callback) {}; + + + + +/** + * Retrieves the state of control signals on a given connection. + * @param {number} connectionId The id of the opened connection. + * @param {function(!Object)} callback + * @see https://developer.chrome.com/apps/serial#method-getControlSignals + */ +chrome.serial.getControlSignals = function(connectionId, callback) {}; + + +/** + * @typedef {?{ + * dtr: (boolean|undefined), + * rts: (boolean|undefined) + * }} + */ +chrome.serial.ControlSignals; + + +/** + * Sets the state of control signals on a given connection. + * @param {number} connectionId The id of the opened connection. + * @param {!chrome.serial.ControlSignals} signals + * The set of signal changes to send to the device. + * @param {function(boolean)} callback Called once the control signals + * have been set. + * @see https://developer.chrome.com/apps/serial#method-setControlSignals + */ +chrome.serial.setControlSignals = function(connectionId, signals, callback) {}; + + +/** + * Event raised when data has been read from the connection. + * @type {!ChromeObjectEvent} + * @see https://developer.chrome.com/apps/serial#event-onReceive + */ +chrome.serial.onReceive; + + +/** + * Event raised when an error occurred while the runtime was waiting for + * data on the serial port. Once this event is raised, the connection may + * be set to paused. A "timeout" error does not pause the connection. + * @type {!ChromeObjectEvent} + * @see https://developer.chrome.com/apps/serial#event-onReceiveError + */ +chrome.serial.onReceiveError; + + +/** * @const * @see https://developer.chrome.com/apps/webstore */ @@ -8102,3 +8787,21 @@ chrome.bluetoothPrivate.PairingEventEvent.prototype.hasListeners = /** @type {!chrome.bluetoothPrivate.PairingEventEvent} */ chrome.bluetoothPrivate.onPairing; + + + +/** + * @const + * @see http://goo.gl/XmVdHm + */ +chrome.inlineInstallPrivate = {}; + + +/** + * Installs the given app ID. + * @param {string} id + * @param {function(string, string): void=} opt_callback Response callback that + * returns two string: (1) an error string (or empty string on success) and + * (2) an error code in case of error + */ +chrome.inlineInstallPrivate.install = function(id, opt_callback) {}; -- cgit v1.1