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

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

Issue 895783003: Files.app: Split the startRequests method of metadata models into createRequests and startRequests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments. 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 cf4d8da94677395d822cf9e0b98c75156744f8fc..2d1bd1825ca13afd295af0a11ae966e5287947ff 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
@@ -7,7 +7,7 @@
* @param {!MetadataCacheSetStorage} items Storage object containing
* MetadataCacheItem.
* @constructor
- * @const
+ * @struct
*/
function MetadataCacheSet(items) {
/**
@@ -18,26 +18,38 @@ function MetadataCacheSet(items) {
}
/**
- * Starts requests for invalidated properties.
- * @param {number} requestId
+ * Creates list of MetadataRequest based on the cache state.
* @param {!Array<!FileEntry>} entries
* @param {!Array<string>} names
- * @return {!Array<!MetadataRequest>} Requests to be passed NewMetadataProvider.
+ * @return {!Array<!MetadataRequest>}
*/
-MetadataCacheSet.prototype.startRequests = function(requestId, entries, names) {
+MetadataCacheSet.prototype.createRequests = function(entries, names) {
var requests = [];
for (var i = 0; i < entries.length; i++) {
- var url = entries[i].toURL();
- var item = this.items_.get(url);
+ var item = this.items_.peek(entries[i].toURL());
+ var requestedNames = item ? item.createRequests(names) : names;
+ if (requestedNames.length)
+ requests.push(new MetadataRequest(entries[i], requestedNames));
+ }
+ return requests;
+};
+
+/**
+ * Updates cache states to start the given requests.
+ * @param {number} requestId
+ * @param {!Array<!MetadataRequest>} requests
+ */
+MetadataCacheSet.prototype.startRequests = function(requestId, requests) {
+ for (var i = 0; i < requests.length; i++) {
+ var request = requests[i];
+ var url = request.entry.toURL();
+ var item = this.items_.peek(url);
if (!item) {
item = new MetadataCacheItem();
this.items_.put(url, item);
}
- var loadRequested = item.startRequests(requestId, names);
- if (loadRequested.length)
- requests.push(new MetadataRequest(entries[i], loadRequested));
+ item.startRequests(requestId, request.names);
}
- return requests;
};
/**
@@ -101,7 +113,7 @@ function MetadataCacheSetStorage() {
/**
* Returns an item corresponding to the given URL.
* @param {string} url Entry URL.
- * @return {!MetadataCacheItem}
+ * @return {MetadataCacheItem}
*/
MetadataCacheSetStorage.prototype.get = function(url) {};
@@ -109,7 +121,7 @@ MetadataCacheSetStorage.prototype.get = function(url) {};
* Returns an item corresponding to the given URL without changing orders in
* the cache list.
* @param {string} url Entry URL.
- * @return {!MetadataCacheItem}
+ * @return {MetadataCacheItem}
*/
MetadataCacheSetStorage.prototype.peek = function(url) {};

Powered by Google App Engine
This is Rietveld 408576698