Index: ui/file_manager/file_manager/background/js/import_history.js |
diff --git a/ui/file_manager/file_manager/background/js/import_history.js b/ui/file_manager/file_manager/background/js/import_history.js |
index aba2c16f454cc3be96b0e405c3f1d4a5d2e19c09..46558772ba0928b41daa170f04be4509fdef40b4 100644 |
--- a/ui/file_manager/file_manager/background/js/import_history.js |
+++ b/ui/file_manager/file_manager/background/js/import_history.js |
@@ -1011,3 +1011,37 @@ importer.RuntimeHistoryLoader.prototype.addHistoryLoadedListener = |
function(listener) { |
this.historyResolver_.promise.then(listener); |
}; |
+ |
+/** |
+ * @param {!FileEntry} fileEntry |
+ * @return {!Promise<string>} Resolves with a "hashcode" consisting of |
+ * just the last modified time and the file size. |
+ */ |
+importer.createMetadataHashcode = function(fileEntry) { |
+ return new Promise( |
+ /** |
+ * @param {function()} resolve |
+ * @param {function()} reject |
+ * @this {importer.PersistentImportHistory} |
+ */ |
+ function(resolve, reject) { |
+ metadataProxy.getEntryMetadata(fileEntry).then( |
+ /** |
+ * @param {!Object} metadata |
+ * @return {!Promise<string>} |
+ * @this {importer.PersistentImportHistory} |
+ */ |
+ function(metadata) { |
+ if (!('modificationTime' in metadata)) { |
+ reject('File entry missing "modificationTime" field.'); |
+ } else if (!('size' in metadata)) { |
+ reject('File entry missing "size" field.'); |
+ } else { |
+ var secondsSinceEpoch = importer.toSecondsFromEpoch( |
+ metadata.modificationTime); |
+ resolve(secondsSinceEpoch + '_' + metadata.size); |
+ } |
+ }.bind(this)); |
+ }.bind(this)) |
+ .catch(importer.getLogger().catcher('importer-common-create-hashcode')); |
+}; |