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 @@
/**
* Metadata provider for FileEntry#getMetadata.
* TODO(hirono): Rename thumbnailUrl with externalThumbnailUrl.
*
* @constructor
* @extends {MetadataProvider}
* @struct
* @final
*/
function ExternalMetadataProvider() {
MetadataProvider.call(this, 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;
class ExternalMetadataProvider extends MetadataProvider {
constructor() {
super(ExternalMetadataProvider.PROPERTY_NAMES);
}
/**
* @override
*/
ExternalMetadataProvider.prototype.get = function(requests) {
/** @override */
get(requests) {
if (!requests.length) {
return Promise.resolve([]);
}
......@@ -78,17 +38,16 @@ ExternalMetadataProvider.prototype.get = function(requests) {
}
});
});
};
}
/**
/**
* @param {!Array<!MetadataRequest>} requests
* @param {!Object<boolean>} nameMap A map of property names that will be used
* to copy the value from |propertiesList|.
* @param {!Array<!chrome.fileManagerPrivate.EntryProperties>} propertiesList
* @return {!Array<!MetadataItem>}
*/
ExternalMetadataProvider.prototype.convertResults_ =
(requests, nameMap, propertiesList) => {
convertResults_(requests, nameMap, propertiesList) {
const results = [];
for (let i = 0; i < propertiesList.length; i++) {
const prop = propertiesList[i];
......@@ -96,8 +55,7 @@ ExternalMetadataProvider.prototype.convertResults_ =
if (prop.alternateUrl !== undefined || nameMap['alternateUrl']) {
item.alternateUrl = prop.alternateUrl;
}
if (prop.availableOffline !== undefined ||
nameMap['availableOffline']) {
if (prop.availableOffline !== undefined || nameMap['availableOffline']) {
item.availableOffline = prop.availableOffline;
}
if (prop.availableWhenMetered !== undefined ||
......@@ -132,8 +90,7 @@ ExternalMetadataProvider.prototype.convertResults_ =
if (prop.imageWidth !== undefined || nameMap['imageWidth']) {
item.imageWidth = prop.imageWidth;
}
if (prop.modificationTime !== undefined ||
nameMap['modificationTime']) {
if (prop.modificationTime !== undefined || nameMap['modificationTime']) {
item.modificationTime = new Date(prop.modificationTime);
}
if (prop.modificationByMeTime !== undefined ||
......@@ -186,4 +143,37 @@ ExternalMetadataProvider.prototype.convertResults_ =
results.push(item);
}
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