Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(654)

Unified Diff: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js

Issue 898533003: Files.app: Add createSnapshot, clone, hasFreashCache methods to metadata models. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js
index 2d1bd1825ca13afd295af0a11ae966e5287947ff..9fc872f7a9b4baf44dcbf468ef4d0441d7956a3b 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js
@@ -103,6 +103,36 @@ MetadataCacheSet.prototype.invalidate = function(requestId, entries) {
};
/**
+ * Creates snapshot of the cache for entries.
+ * @param {!Array<!FileEntry>} entries
+ */
+MetadataCacheSet.prototype.createSnapshot = function(entries) {
+ var items = {};
+ for (var i = 0; i < entries.length; i++) {
+ var url = entries[i].toURL();
+ var item = this.items_.peek(url);
+ if (item)
+ items[url] = item.clone();
+ }
+ return new MetadataCacheSet(new MetadataCacheSetStorageForObject(items));
+};
+
+/**
+ * Returns whether all the given properties are fulfilled.
+ * @param {!Array<!FileEntry>} entries Entries.
+ * @param {!Array<string>} names Property names.
+ * @return {boolean}
+ */
+MetadataCacheSet.prototype.hasFreshCache = function(entries, names) {
+ for (var i = 0; i < entries.length; i++) {
+ var item = this.items_.peek(entries[i].toURL());
+ if (!(item && item.hasFreshCache(names)))
+ return false;
+ }
+ return true;
+};
+
+/**
* Interface of raw strage for MetadataCacheItem.
* TODO(hirono): Add implementation of the interface for LRUCache.
* @interface

Powered by Google App Engine
This is Rietveld 408576698