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 b86fb357d3e1197dcd57e10a4cc1ebc023302d27..6ec44299481687eeed4a897fd036811a9aa94cb7 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 |
@@ -115,8 +115,10 @@ MetadataCache.EVICTION_THRESHOLD_MARGIN = 500; |
*/ |
MetadataCache.createFull = function(volumeManager) { |
var cache = new MetadataCache(); |
- cache.providers_.push(new FilesystemProvider()); |
+ // 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; |
}; |
@@ -681,7 +683,7 @@ FilesystemProvider.prototype.fetch = function( |
function onMetadata(entry, metadata) { |
callback({ |
filesystem: { |
- size: entry.isFile ? (metadata.size || 0) : -1, |
+ size: (entry.isFile ? (metadata.size || 0) : -1), |
modificationTime: metadata.modificationTime |
} |
}); |
@@ -735,7 +737,7 @@ DriveProvider.prototype.supportsEntry = function(entry) { |
*/ |
DriveProvider.prototype.providesType = function(type) { |
return type === 'drive' || type === 'thumbnail' || |
- type === 'streaming' || type === 'media'; |
+ type === 'streaming' || type === 'media' || type === 'filesystem'; |
}; |
/** |
@@ -838,6 +840,11 @@ DriveProvider.prototype.convert_ = function(data, entry) { |
shared: data.shared |
}; |
+ result.filesystem = { |
+ size: (entry.isFile ? (data.fileSize || 0) : -1), |
+ modificationTime: new Date(data.lastModifiedTime) |
+ }; |
+ |
if ('thumbnailUrl' in data) { |
result.thumbnail = { |
url: data.thumbnailUrl, |