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

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

Issue 971723002: Files.app: Rename FileSystemMetadata with MetadataModel. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed. Created 5 years, 10 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/new_metadata_provider.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider.js b/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider.js
index 6f63f02622e3fcc6df4b0f36ffbadfb32b17fbe1..282bbbf01bc1ac0a90e746075e821881135ce6ba 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider.js
@@ -37,227 +37,3 @@ NewMetadataProvider.prototype.checkPropertyNames = function(names) {
* entry error.
*/
NewMetadataProvider.prototype.get;
-
-/**
- * @param {!NewMetadataProvider} rawProvider
- * @constructor
- * @struct
- */
-function CachedMetadataProvider(rawProvider) {
- /**
- * @private {!NewMetadataProvider}
- * @const
- */
- this.rawProvider_ = rawProvider;
-
- /**
- * @private {!MetadataProviderCache}
- * @const
- */
- this.cache_ = new MetadataProviderCache();
-
- /**
- * @private {!Array<!MetadataProviderCallbackRequest<T>>}
- * @const
- */
- this.callbackRequests_ = [];
-}
-
-/**
- * @return {!NewMetadataProvider}
- */
-CachedMetadataProvider.prototype.getRawProvider = function() {
- return this.rawProvider_;
-};
-
-/**
- * Obtains metadata for entries.
- * @param {!Array<!Entry>} entries Entries.
- * @param {!Array<string>} names Metadata property names to be obtained.
- * @return {!Promise<!Array<!MetadataItem>>}
- */
-CachedMetadataProvider.prototype.get = function(entries, names) {
- this.rawProvider_.checkPropertyNames(names);
-
- // Check if the results are cached or not.
- if (this.cache_.hasFreshCache(entries, names))
- return Promise.resolve(this.getCache(entries, names));
-
- // The LRU cache may be cached out when the callback is completed.
- // To hold cached values, create snapshot of the cache for entries.
- var requestId = this.cache_.generateRequestId();
- var snapshot = this.cache_.createSnapshot(entries);
- var requests = snapshot.createRequests(entries, names);
- snapshot.startRequests(requestId, requests);
- this.cache_.startRequests(requestId, requests);
-
- // Register callback.
- var promise = new Promise(function(fulfill) {
- this.callbackRequests_.push(new MetadataProviderCallbackRequest(
- entries, names, snapshot, fulfill));
- }.bind(this));
-
- // If the requests are not empty, call the requests.
- if (requests.length) {
- this.rawProvider_.get(requests).then(function(list) {
- // Obtain requested entries and ensure all the requested properties are
- // contained in the result.
- var requestedEntries = [];
- for (var i = 0; i < requests.length; i++) {
- requestedEntries.push(requests[i].entry);
- for (var j = 0; j < requests[i].names.length; j++) {
- var name = requests[i].names[j];
- if (!(name in list[i]))
- list[i][name] = undefined;
- }
- }
-
- // Store cache.
- this.cache_.storeProperties(requestId, requestedEntries, list);
-
- // Invoke callbacks.
- var i = 0;
- while (i < this.callbackRequests_.length) {
- if (this.callbackRequests_[i].storeProperties(
- requestId, requestedEntries, list)) {
- // Callback was called.
- this.callbackRequests_.splice(i, 1);
- } else {
- i++;
- }
- }
- }.bind(this));
- }
-
- return promise;
-};
-
-/**
- * Obtains metadata cache for entries.
- * @param {!Array<!Entry>} entries Entries.
- * @param {!Array<string>} names Metadata property names to be obtained.
- * @return {!Array<!MetadataItem>}
- */
-CachedMetadataProvider.prototype.getCache = function(entries, names) {
- // Check if the property name is correct or not.
- this.rawProvider_.checkPropertyNames(names);
- return this.cache_.get(entries, names);
-};
-
-/**
- * Clears old metadata for newly created entries.
- * @param {!Array<!Entry>} entries
- */
-CachedMetadataProvider.prototype.notifyEntriesCreated = function(entries) {
- this.cache_.clear(util.entriesToURLs(entries));
-};
-
-/**
- * Clears metadata for deleted entries.
- * @param {!Array<string>} urls Note it is not an entry list because we cannot
- * obtain entries after removing them from the file system.
- */
-CachedMetadataProvider.prototype.notifyEntriesRemoved = function(urls) {
- this.cache_.clear(urls);
-};
-
-/**
- * Invalidates metadata for updated entries.
- * @param {!Array<!Entry>} entries
- */
-CachedMetadataProvider.prototype.notifyEntriesChanged = function(entries) {
- this.cache_.invalidate(this.cache_.generateRequestId(), entries);
-};
-
-/**
- * Clears all cache.
- */
-CachedMetadataProvider.prototype.clearAllCache = function() {
- this.cache_.clearAll();
-};
-
-/**
- * Adds event listener to internal cache object.
- * @param {string} type
- * @param {function(Event):undefined} callback
- */
-CachedMetadataProvider.prototype.addEventListener = function(type, callback) {
- this.cache_.addEventListener(type, callback);
-};
-
-/**
- * @param {!Array<!Entry>} entries
- * @param {!Array<string>} names
- * @param {!MetadataCacheSet} cache
- * @param {function(!MetadataItem):undefined} fulfill
- * @constructor
- * @struct
- */
-function MetadataProviderCallbackRequest(entries, names, cache, fulfill) {
- /**
- * @private {!Array<!Entry>}
- * @const
- */
- this.entries_ = entries;
-
- /**
- * @private {!Array<string>}
- * @const
- */
- this.names_ = names;
-
- /**
- * @private {!MetadataCacheSet}
- * @const
- */
- this.cache_ = cache;
-
- /**
- * @private {function(!MetadataItem):undefined}
- * @const
- */
- this.fulfill_ = fulfill;
-}
-
-/**
- * Stores properties to snapshot cache of the callback request.
- * If all the requested property are served, it invokes the callback.
- * @param {number} requestId
- * @param {!Array<!Entry>} entries
- * @param {!Array<!MetadataItem>} objects
- * @return {boolean} Whether the callback is invoked or not.
- */
-MetadataProviderCallbackRequest.prototype.storeProperties = function(
- requestId, entries, objects) {
- this.cache_.storeProperties(requestId, entries, objects);
- if (this.cache_.hasFreshCache(this.entries_, this.names_)) {
- this.fulfill_(this.cache_.get(this.entries_, this.names_));
- return true;
- }
- return false;
-};
-
-/**
- * Helper wrapper for LRUCache.
- * @constructor
- * @extends {MetadataCacheSet}
- * @struct
- */
-function MetadataProviderCache() {
- MetadataCacheSet.call(this, new MetadataCacheSetStorageForObject({}));
-
- /**
- * @private {number}
- */
- this.requestIdCounter_ = 0;
-}
-
-MetadataProviderCache.prototype.__proto__ = MetadataCacheSet.prototype;
-
-/**
- * Generates a unique request ID every time when it is called.
- * @return {number}
- */
-MetadataProviderCache.prototype.generateRequestId = function() {
- return this.requestIdCounter_++;
-};

Powered by Google App Engine
This is Rietveld 408576698