Chromium Code Reviews| Index: ui/file_manager/gallery/js/gallery.js |
| diff --git a/ui/file_manager/gallery/js/gallery.js b/ui/file_manager/gallery/js/gallery.js |
| index 9b9cd34616d00a3a05fe6788c4fe2648501371dc..490a3d9636a549ba9a7d3c924f7d8daa0a2385f7 100644 |
| --- a/ui/file_manager/gallery/js/gallery.js |
| +++ b/ui/file_manager/gallery/js/gallery.js |
| @@ -67,9 +67,7 @@ function Gallery(volumeManager) { |
| this.onExternallyUnmountedBound_ = this.onExternallyUnmounted_.bind(this); |
| this.initialized_ = false; |
| - this.dataModel_ = new GalleryDataModel( |
| - this.context_.metadataCache, |
| - this.metadataModel_); |
| + this.dataModel_ = new GalleryDataModel(this.metadataModel_); |
| var downloadVolumeInfo = this.volumeManager_.getCurrentProfileVolumeInfo( |
| VolumeManagerCommon.VolumeType.DOWNLOADS); |
| downloadVolumeInfo.resolveDisplayRoot().then(function(entry) { |
| @@ -260,7 +258,8 @@ Gallery.METADATA_TYPE = 'thumbnail|filesystem|media|external'; |
| * @const |
| * @type {!Array<string>} |
| */ |
| -Gallery.PREFETCH_PROPERTY_NAMES = ['imageWidth', 'imageHeight', 'size']; |
| +Gallery.PREFETCH_PROPERTY_NAMES = |
| + ['imageWidth', 'imageHeight', 'size', 'present']; |
|
mtomasz
2015/03/04 09:29:59
nit: Why present is added?
nit: Is size used?
|
| /** |
| * Closes gallery when a volume containing the selected item is unmounted. |
| @@ -370,6 +369,7 @@ Gallery.prototype.loadInternal_ = function(entries, selectedEntries) { |
| // Load entries. |
| // Use the self variable capture-by-closure because it is faster than bind. |
| var self = this; |
| + var thumbnailModel = new ThumbnailModel(this.metadataModel_); |
| var loadChunk = function(firstChunk) { |
| // Extract chunk. |
| var chunk = loadingList.splice(0, maxChunkSize); |
| @@ -378,17 +378,10 @@ Gallery.prototype.loadInternal_ = function(entries, selectedEntries) { |
| var entries = chunk.map(function(chunkItem) { |
| return chunkItem.entry; |
| }); |
| - var oldMetadataPromise = new Promise(function(fulfill) { |
| - // Obtains metadata for chunk. |
| - self.metadataCache_.get(entries, Gallery.METADATA_TYPE, fulfill); |
| - }).then(function(metadataList) { |
| - if (chunk.length !== metadataList.length) |
| - return Promise.reject('Failed to load metadata.'); |
| - return metadataList; |
| - }); |
| var metadataPromise = self.metadataModel_.get( |
| entries, Gallery.PREFETCH_PROPERTY_NAMES); |
| - return Promise.all([oldMetadataPromise, metadataPromise]).then( |
| + var thumbnailPromise = thumbnailModel.get(entries); |
| + return Promise.all([metadataPromise, thumbnailPromise]).then( |
| function(metadataLists) { |
| // Remove all the previous items if it's the first chunk. |
| // Do it here because prevent a flicker between removing all the items |
| @@ -404,15 +397,11 @@ Gallery.prototype.loadInternal_ = function(entries, selectedEntries) { |
| var locationInfo = self.volumeManager_.getLocationInfo(chunkItem.entry); |
| if (!locationInfo) // Skip the item, since gone. |
| return; |
| - var clonedMetadata = |
| - MetadataCache.cloneMetadata(metadataLists[0][index]); |
| items.push(new Gallery.Item( |
| chunkItem.entry, |
| locationInfo, |
| - clonedMetadata, |
| + metadataLists[0][index], |
| metadataLists[1][index], |
| - self.metadataCache_, |
| - self.metadataModel_, |
| /* original */ true)); |
| }); |
| self.dataModel_.push.apply(self.dataModel_, items); |
| @@ -841,7 +830,7 @@ Gallery.prototype.onFilenameEditBlur_ = function(event) { |
| var event = new Event('content'); |
| event.item = item; |
| event.oldEntry = oldEntry; |
| - event.metadata = null; // Metadata unchanged. |
| + event.thumbnailChanged = false; |
| this.dataModel_.dispatchEvent(event); |
| }.bind(this), function(error) { |
| if (error === 'NOT_CHANGED') |