Commit d2bcfbc4 authored by François Degros's avatar François Degros Committed by Commit Bot

[Files app] ES6 class for external_metadata_provider.js

Bug: 778674
Change-Id: I14c981ffc87b504e5dd1dfca57097e627a72a06b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1647641
Commit-Queue: François Degros <fdegros@chromium.org>
Commit-Queue: Luciano Pacheco <lucmult@chromium.org>
Auto-Submit: François Degros <fdegros@chromium.org>
Reviewed-by: default avatarLuciano Pacheco <lucmult@chromium.org>
Cr-Commit-Position: refs/heads/master@{#666611}
parent f0297bc5
...@@ -5,55 +5,15 @@ ...@@ -5,55 +5,15 @@
/** /**
* Metadata provider for FileEntry#getMetadata. * Metadata provider for FileEntry#getMetadata.
* TODO(hirono): Rename thumbnailUrl with externalThumbnailUrl. * TODO(hirono): Rename thumbnailUrl with externalThumbnailUrl.
* * @final
* @constructor
* @extends {MetadataProvider}
* @struct
*/ */
function ExternalMetadataProvider() { class ExternalMetadataProvider extends MetadataProvider {
MetadataProvider.call(this, ExternalMetadataProvider.PROPERTY_NAMES); constructor() {
} super(ExternalMetadataProvider.PROPERTY_NAMES);
}
/**
* @const {!Array<string>}
*/
ExternalMetadataProvider.PROPERTY_NAMES = [
'alternateUrl',
'availableOffline',
'availableWhenMetered',
'contentMimeType',
'croppedThumbnailUrl',
'customIconUrl',
'dirty',
'externalFileUrl',
'hosted',
'imageHeight',
'imageRotation',
'imageWidth',
'modificationTime',
'modificationByMeTime',
'pinned',
'present',
'shared',
'sharedWithMe',
'size',
'thumbnailUrl',
'canCopy',
'canDelete',
'canRename',
'canAddChildren',
'canShare',
'isMachineRoot',
'isExternalMedia',
'isArbitrarySyncFolder',
];
ExternalMetadataProvider.prototype.__proto__ = MetadataProvider.prototype;
/** /** @override */
* @override get(requests) {
*/
ExternalMetadataProvider.prototype.get = function(requests) {
if (!requests.length) { if (!requests.length) {
return Promise.resolve([]); return Promise.resolve([]);
} }
...@@ -78,17 +38,16 @@ ExternalMetadataProvider.prototype.get = function(requests) { ...@@ -78,17 +38,16 @@ ExternalMetadataProvider.prototype.get = function(requests) {
} }
}); });
}); });
}; }
/** /**
* @param {!Array<!MetadataRequest>} requests * @param {!Array<!MetadataRequest>} requests
* @param {!Object<boolean>} nameMap A map of property names that will be used * @param {!Object<boolean>} nameMap A map of property names that will be used
* to copy the value from |propertiesList|. * to copy the value from |propertiesList|.
* @param {!Array<!chrome.fileManagerPrivate.EntryProperties>} propertiesList * @param {!Array<!chrome.fileManagerPrivate.EntryProperties>} propertiesList
* @return {!Array<!MetadataItem>} * @return {!Array<!MetadataItem>}
*/ */
ExternalMetadataProvider.prototype.convertResults_ = convertResults_(requests, nameMap, propertiesList) {
(requests, nameMap, propertiesList) => {
const results = []; const results = [];
for (let i = 0; i < propertiesList.length; i++) { for (let i = 0; i < propertiesList.length; i++) {
const prop = propertiesList[i]; const prop = propertiesList[i];
...@@ -96,8 +55,7 @@ ExternalMetadataProvider.prototype.convertResults_ = ...@@ -96,8 +55,7 @@ ExternalMetadataProvider.prototype.convertResults_ =
if (prop.alternateUrl !== undefined || nameMap['alternateUrl']) { if (prop.alternateUrl !== undefined || nameMap['alternateUrl']) {
item.alternateUrl = prop.alternateUrl; item.alternateUrl = prop.alternateUrl;
} }
if (prop.availableOffline !== undefined || if (prop.availableOffline !== undefined || nameMap['availableOffline']) {
nameMap['availableOffline']) {
item.availableOffline = prop.availableOffline; item.availableOffline = prop.availableOffline;
} }
if (prop.availableWhenMetered !== undefined || if (prop.availableWhenMetered !== undefined ||
...@@ -132,8 +90,7 @@ ExternalMetadataProvider.prototype.convertResults_ = ...@@ -132,8 +90,7 @@ ExternalMetadataProvider.prototype.convertResults_ =
if (prop.imageWidth !== undefined || nameMap['imageWidth']) { if (prop.imageWidth !== undefined || nameMap['imageWidth']) {
item.imageWidth = prop.imageWidth; item.imageWidth = prop.imageWidth;
} }
if (prop.modificationTime !== undefined || if (prop.modificationTime !== undefined || nameMap['modificationTime']) {
nameMap['modificationTime']) {
item.modificationTime = new Date(prop.modificationTime); item.modificationTime = new Date(prop.modificationTime);
} }
if (prop.modificationByMeTime !== undefined || if (prop.modificationByMeTime !== undefined ||
...@@ -186,4 +143,37 @@ ExternalMetadataProvider.prototype.convertResults_ = ...@@ -186,4 +143,37 @@ ExternalMetadataProvider.prototype.convertResults_ =
results.push(item); results.push(item);
} }
return results; return results;
}; }
}
/** @const {!Array<string>} */
ExternalMetadataProvider.PROPERTY_NAMES = [
'alternateUrl',
'availableOffline',
'availableWhenMetered',
'contentMimeType',
'croppedThumbnailUrl',
'customIconUrl',
'dirty',
'externalFileUrl',
'hosted',
'imageHeight',
'imageRotation',
'imageWidth',
'modificationTime',
'modificationByMeTime',
'pinned',
'present',
'shared',
'sharedWithMe',
'size',
'thumbnailUrl',
'canCopy',
'canDelete',
'canRename',
'canAddChildren',
'canShare',
'isMachineRoot',
'isExternalMedia',
'isArbitrarySyncFolder',
];
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment