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() |
+ ]); |
}; |
/** |