| Index: ui/file_manager/file_manager/background/js/volume_manager.js
|
| diff --git a/ui/file_manager/file_manager/background/js/volume_manager.js b/ui/file_manager/file_manager/background/js/volume_manager.js
|
| index 64300d2f7a3f9b884469102a92b31fb3563ac559..1f0704ac80dfb4375f5a09f07678bb1a8b8cdbdb 100644
|
| --- a/ui/file_manager/file_manager/background/js/volume_manager.js
|
| +++ b/ui/file_manager/file_manager/background/js/volume_manager.js
|
| @@ -11,18 +11,18 @@
|
| * @param {VolumeManagerCommon.VolumeType} volumeType The type of the volume.
|
| * @param {string} volumeId ID of the volume.
|
| * @param {FileSystem} fileSystem The file system object for this volume.
|
| - * @param {string} error The error if an error is found.
|
| - * @param {?string} deviceType The type of device ('usb'|'sd'|'optical'|'mobile'
|
| - * |'unknown') (as defined in chromeos/disks/disk_mount_manager.cc).
|
| - * Can be null.
|
| - * @param {?string} devicePath Identifier of the device that the volume belongs
|
| - * to. Can be null.
|
| + * @param {(string|undefined)} error The error if an error is found.
|
| + * @param {(string|undefined)} deviceType The type of device
|
| + * ('usb'|'sd'|'optical'|'mobile'|'unknown') (as defined in
|
| + * chromeos/disks/disk_mount_manager.cc). Can be undefined.
|
| + * @param {(string|undefined)} devicePath Identifier of the device that the
|
| + * volume belongs to. Can be undefined.
|
| * @param {boolean} isReadOnly True if the volume is read only.
|
| * @param {!{displayName:string, isCurrentProfile:boolean}} profile Profile
|
| * information.
|
| * @param {string} label Label of the volume.
|
| - * @param {string} extensionId Id of the extension providing this volume. Empty
|
| - * for native volumes.
|
| + * @param {(string|undefined)} extensionId Id of the extension providing this
|
| + * volume. Empty for native volumes.
|
| * @constructor
|
| */
|
| function VolumeInfo(
|
| @@ -110,19 +110,19 @@ VolumeInfo.prototype = {
|
| return this.fakeEntries_;
|
| },
|
| /**
|
| - * @return {string} Error identifier.
|
| + * @return {(string|undefined)} Error identifier.
|
| */
|
| get error() {
|
| return this.error_;
|
| },
|
| /**
|
| - * @return {string} Device type identifier.
|
| + * @return {(string|undefined)} Device type identifier.
|
| */
|
| get deviceType() {
|
| return this.deviceType_;
|
| },
|
| /**
|
| - * @return {string} Device identifier.
|
| + * @return {(string|undefined)} Device identifier.
|
| */
|
| get devicePath() {
|
| return this.devicePath_;
|
| @@ -146,7 +146,7 @@ VolumeInfo.prototype = {
|
| return this.label_;
|
| },
|
| /**
|
| - * @return {string} Id of an extennsion providing this volume.
|
| + * @return {(string|undefined)} Id of an extennsion providing this volume.
|
| */
|
| get extensionId() {
|
| return this.extensionId_;
|
| @@ -198,8 +198,7 @@ var volumeManagerUtil = {};
|
| * Throws an Error when the given error is not in
|
| * VolumeManagerCommon.VolumeError.
|
| *
|
| - * @param {VolumeManagerCommon.VolumeError} error Status string usually received
|
| - * from APIs.
|
| + * @param {string} error Status string usually received from APIs.
|
| */
|
| volumeManagerUtil.validateError = function(error) {
|
| for (var key in VolumeManagerCommon.VolumeError) {
|
| @@ -239,7 +238,8 @@ volumeManagerUtil.createVolumeInfo = function(volumeMetadata, callback) {
|
| if (!fileSystem) {
|
| console.error('File system not found: ' + volumeMetadata.volumeId);
|
| callback(new VolumeInfo(
|
| - volumeMetadata.volumeType,
|
| + /** @type {VolumeManagerCommon.VolumeType} */
|
| + (volumeMetadata.volumeType),
|
| volumeMetadata.volumeId,
|
| null, // File system is not found.
|
| volumeMetadata.mountCondition,
|
| @@ -266,7 +266,8 @@ volumeManagerUtil.createVolumeInfo = function(volumeMetadata, callback) {
|
| });
|
| }
|
| callback(new VolumeInfo(
|
| - volumeMetadata.volumeType,
|
| + /** @type {VolumeManagerCommon.VolumeType} */
|
| + (volumeMetadata.volumeType),
|
| volumeMetadata.volumeId,
|
| fileSystem,
|
| volumeMetadata.mountCondition,
|
| @@ -301,8 +302,8 @@ volumeManagerUtil.volumeListOrder_ = [
|
| * The volumes at first are compared by volume type in the order of
|
| * volumeListOrder_. Then they are compared by volume ID.
|
| *
|
| - * @param {VolumeInfo} volumeInfo1 Volume info to be compared.
|
| - * @param {VolumeInfo} volumeInfo2 Volume info to be compared.
|
| + * @param {!VolumeInfo} volumeInfo1 Volume info to be compared.
|
| + * @param {!VolumeInfo} volumeInfo2 Volume info to be compared.
|
| * @return {number} Returns -1 if volume1 < volume2, returns 1 if volume2 >
|
| * volume1, returns 0 if volume1 === volume2.
|
| * @private
|
| @@ -332,7 +333,9 @@ function VolumeInfoList() {
|
| * @private
|
| */
|
| this.model_ = new cr.ui.ArrayDataModel([]);
|
| - this.model_.setCompareFunction(field, volumeManagerUtil.compareVolumeInfo_);
|
| + this.model_.setCompareFunction(field,
|
| + /** @type {function(*, *): number} */
|
| + (volumeManagerUtil.compareVolumeInfo_));
|
| this.model_.sort(field, 'asc');
|
|
|
| Object.freeze(this);
|
| @@ -420,10 +423,10 @@ VolumeInfoList.prototype.findByEntry = function(entry) {
|
|
|
| /**
|
| * @param {number} index The index of the volume in the list.
|
| - * @return {VolumeInfo} The VolumeInfo instance.
|
| + * @return {!VolumeInfo} The VolumeInfo instance.
|
| */
|
| VolumeInfoList.prototype.item = function(index) {
|
| - return this.model_.item(index);
|
| + return /** @type {!VolumeInfo} */ (this.model_.item(index));
|
| };
|
|
|
| /**
|
| @@ -456,6 +459,11 @@ function VolumeManager() {
|
|
|
| // The status should be merged into VolumeManager.
|
| // TODO(hidehiko): Remove them after the migration.
|
| + /**
|
| + * Connection state of the Drive.
|
| + * @type {VolumeManagerCommon.DriveConnectionState}
|
| + * @private
|
| + */
|
| this.driveConnectionState_ = {
|
| type: VolumeManagerCommon.DriveConnectionType.OFFLINE,
|
| reason: VolumeManagerCommon.DriveConnectionReason.NO_SERVICE
|
| @@ -468,7 +476,7 @@ function VolumeManager() {
|
|
|
| /**
|
| * Invoked when the drive connection status is changed.
|
| - * @private_
|
| + * @private
|
| */
|
| VolumeManager.prototype.onDriveConnectionStatusChanged_ = function() {
|
| chrome.fileManagerPrivate.getDriveConnectionState(function(state) {
|
| @@ -479,7 +487,7 @@ VolumeManager.prototype.onDriveConnectionStatusChanged_ = function() {
|
|
|
| /**
|
| * Returns the drive connection state.
|
| - * @return {VolumeManagerCommon.DriveConnectionType} Connection type.
|
| + * @return {VolumeManagerCommon.DriveConnectionState} Connection state.
|
| */
|
| VolumeManager.prototype.getDriveConnectionState = function() {
|
| return this.driveConnectionState_;
|
| @@ -520,11 +528,11 @@ VolumeManager.instancePromise_ = null;
|
| /**
|
| * Returns the VolumeManager instance asynchronously. If it is not created or
|
| * under initialization, it will waits for the finish of the initialization.
|
| - * @param {function(VolumeManager)} callback Called with the VolumeManager
|
| + * @param {function(VolumeManager)=} opt_callback Called with the VolumeManager
|
| * instance. TODO(hirono): Remove the callback and use Promise instead.
|
| * @return {Promise} Promise to be fulfilled with the volume manager.
|
| */
|
| -VolumeManager.getInstance = function(callback) {
|
| +VolumeManager.getInstance = function(opt_callback) {
|
| if (!VolumeManager.instancePromise_) {
|
| VolumeManager.instance_ = new VolumeManager();
|
| VolumeManager.instancePromise_ = new Promise(function(fulfill) {
|
| @@ -533,8 +541,8 @@ VolumeManager.getInstance = function(callback) {
|
| });
|
| });
|
| }
|
| - if (callback)
|
| - VolumeManager.instancePromise_.then(callback);
|
| + if (opt_callback)
|
| + VolumeManager.instancePromise_.then(opt_callback);
|
| return VolumeManager.instancePromise_;
|
| };
|
|
|
|
|