| Index: ui/file_manager/file_manager/foreground/js/metadata_box_controller.js
|
| diff --git a/ui/file_manager/file_manager/foreground/js/metadata_box_controller.js b/ui/file_manager/file_manager/foreground/js/metadata_box_controller.js
|
| index 4b6220035e0094f06384f96481faecb66d557a74..94d8bc8b21446b735103a799aa671dc65d4788bd 100644
|
| --- a/ui/file_manager/file_manager/foreground/js/metadata_box_controller.js
|
| +++ b/ui/file_manager/file_manager/foreground/js/metadata_box_controller.js
|
| @@ -75,28 +75,32 @@ MetadataBoxController.prototype.updateView_ = function() {
|
| if (!this.quickView_.metadataBoxActive) {
|
| return;
|
| }
|
| + this.metadataBox_.clear();
|
| var entry = this.quickViewModel_.getSelectedEntry();
|
| if (!entry)
|
| return;
|
| this.metadataModel_
|
| .get(
|
| - [entry],
|
| - MetadataBoxController.GENERAL_METADATA_NAME.concat(['hosted']))
|
| + [entry], MetadataBoxController.GENERAL_METADATA_NAME.concat(
|
| + ['hosted', 'externalFileUrl']))
|
| .then(this.onGeneralMetadataLoaded_.bind(this, entry));
|
| -
|
| - // TODO(oka): Add file type specific metadata.
|
| };
|
|
|
| /**
|
| * Update metadata box with general file information.
|
| + * Then retrieve file specific metadata if any.
|
| + *
|
| + * @param {!FileEntry} entry
|
| + * @param {!Array<!MetadataItem>} items
|
| *
|
| - * @param{!FileEntry} entry
|
| - * @param{!Array<!MetadataItem>} items
|
| * @private
|
| */
|
| MetadataBoxController.prototype.onGeneralMetadataLoaded_ = function(
|
| entry, items) {
|
| + var type = FileType.getType(entry).type;
|
| var item = items[0];
|
| +
|
| + this.metadataBox_.type = type;
|
| if (item.size) {
|
| this.metadataBox_.size =
|
| this.fileMetadataFormatter_.formatSize(item.size, item.hosted);
|
| @@ -105,4 +109,41 @@ MetadataBoxController.prototype.onGeneralMetadataLoaded_ = function(
|
| this.metadataBox_.modificationTime =
|
| this.fileMetadataFormatter_.formatModDate(item.modificationTime);
|
| }
|
| +
|
| + if (item.externalFileUrl) {
|
| + this.metadataModel_.get([entry], ['contentMimeType']).then(function(items) {
|
| + var item = items[0];
|
| + this.metadataBox_.mediaMimeType = item.contentMimeType;
|
| + }.bind(this));
|
| + } else {
|
| + this.metadataModel_.get([entry], ['mediaMimeType']).then(function(items) {
|
| + var item = items[0];
|
| + this.metadataBox_.mediaMimeType = item.mediaMimeType;
|
| + }.bind(this));
|
| + }
|
| +
|
| + var type = FileType.getType(entry).type;
|
| + this.metadataBox_.type = type;
|
| + if (['image', 'video', 'audio'].includes(type)) {
|
| + if (item.externalFileUrl) {
|
| + this.metadataModel_.get([entry], ['imageHeight', 'imageWidth'])
|
| + .then(function(items) {
|
| + var item = items[0];
|
| + this.metadataBox_.imageHeight = item.imageHeight;
|
| + this.metadataBox_.imageWidth = item.imageWidth;
|
| + }.bind(this));
|
| + } else {
|
| + this.metadataModel_
|
| + .get(
|
| + [entry],
|
| + ['imageHeight', 'imageWidth', 'mediaArtist', 'mediaTitle'])
|
| + .then(function(items) {
|
| + var item = items[0];
|
| + this.metadataBox_.imageHeight = item.imageHeight;
|
| + this.metadataBox_.imageWidth = item.imageWidth;
|
| + this.metadataBox_.mediaArtist = item.mediaArtist;
|
| + this.metadataBox_.mediaTitle = item.mediaTitle;
|
| + }.bind(this));
|
| + }
|
| + }
|
| };
|
|
|