Index: ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_provider.js |
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_provider.js b/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_provider.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..03531d54a9d197396667d10c76489dc945d62456 |
--- /dev/null |
+++ b/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_provider.js |
@@ -0,0 +1,33 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+/** |
+ * @typedef {{modificationTime:Date, size:number}} |
+ */ |
+var FileSystemMetadata; |
+ |
+/** |
+ * Metadata provider for FileEntry#getMetadata. |
+ * |
+ * @param {!MetadataProviderCache} cache |
+ * @constructor |
+ * @extends {NewMetadataProvider<!FileSystemMetadata>} |
+ * @struct |
+ */ |
+function FileSystemMetadataProvider(cache) { |
+ NewMetadataProvider.call(this, cache, ['modificationTime', 'size']); |
+} |
+ |
+FileSystemMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype; |
+ |
+/** |
+ * @override |
+ */ |
+FileSystemMetadataProvider.prototype.getImpl = function(requests) { |
+ return Promise.all(requests.map(function(request) { |
+ return new Promise(function(fulfill, reject) { |
+ request.entry.getMetadata(fulfill, reject); |
+ }); |
+ })); |
+}; |