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

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

Issue 340843005: Files.app: Create unit tests for MetadataCache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed. Created 6 years, 6 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
« no previous file with comments | « chrome/test/data/file_manager/unit_tests/mocks/mock_file_entry.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js
index 0ee5c3eb5c0e33ac5bc2a91bbf83b2cb43380a64..f04c493ac08bfbf7d7d23f81ed117d3f442d5442 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache.js
@@ -46,9 +46,10 @@
* var size = (cached && cached.size) || UNKNOWN_SIZE;
* }
*
+ * @param {Array.<MetadataProvider>} providers Metadata providers.
* @constructor
*/
-function MetadataCache() {
+function MetadataCache(providers) {
/**
* Map from Entry (using Entry.toURL) to metadata. Metadata contains
* |properties| - an hierarchical object of values, and an object for each
@@ -61,7 +62,7 @@ function MetadataCache() {
* List of metadata providers.
* @private
*/
- this.providers_ = [];
+ this.providers_ = providers;
/**
* List of observers added. Each one is an object with fields:
@@ -81,9 +82,13 @@ function MetadataCache() {
/**
* Time of first get query of the current batch. Items updated later than this
* will not be evicted.
+ *
+ * @type {Date}
* @private
*/
this.lastBatchStart_ = new Date();
+
+ Object.seal(this);
}
/**
@@ -114,13 +119,13 @@ MetadataCache.EVICTION_THRESHOLD_MARGIN = 500;
* @return {MetadataCache!} The cache with all providers.
*/
MetadataCache.createFull = function(volumeManager) {
- var cache = new MetadataCache();
// DriveProvider should be prior to FileSystemProvider, because it covers
// FileSystemProvider for files in Drive.
- cache.providers_.push(new DriveProvider(volumeManager));
- cache.providers_.push(new FilesystemProvider());
- cache.providers_.push(new ContentProvider());
- return cache;
+ return new MetadataCache([
+ new DriveProvider(volumeManager),
+ new FilesystemProvider(),
+ new ContentProvider()
+ ]);
};
/**
« no previous file with comments | « chrome/test/data/file_manager/unit_tests/mocks/mock_file_entry.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698