Index: ui/file_manager/file_manager/foreground/js/ui/file_grid.js |
diff --git a/ui/file_manager/file_manager/foreground/js/ui/file_grid.js b/ui/file_manager/file_manager/foreground/js/ui/file_grid.js |
index 6092b984023c95e6457097daee9bfd0cc4290d5e..66d37542fafa41997abf5876c1bb32a89fbe2cc0 100644 |
--- a/ui/file_manager/file_manager/foreground/js/ui/file_grid.js |
+++ b/ui/file_manager/file_manager/foreground/js/ui/file_grid.js |
@@ -142,13 +142,16 @@ FileGrid.prototype.onThumbnailLoaded_ = function(event) { |
if (entry) { |
var box = listItem.querySelector('.img-container'); |
if (box) { |
+ var mimeType = this.metadataModel_.getCache( |
+ [entry], ['contentMimeType'])[0].contentMimeType; |
FileGrid.setThumbnailImage_( |
assertInstanceof(box, HTMLDivElement), |
entry, |
event.dataUrl, |
event.width, |
event.height, |
- /* should animate */ true); |
+ /* should animate */ true, |
+ mimeType); |
} |
listItem.classList.toggle('thumbnail-loaded', true); |
} |
@@ -539,7 +542,10 @@ FileGrid.prototype.decorateThumbnail_ = function(li, entry) { |
var bottom = li.ownerDocument.createElement('div'); |
bottom.className = 'thumbnail-bottom'; |
- var detailIcon = filelist.renderFileTypeIcon(li.ownerDocument, entry); |
+ var mimeType = this.metadataModel_.getCache( |
+ [entry], ['contentMimeType'])[0].contentMimeType; |
+ var detailIcon = filelist.renderFileTypeIcon( |
+ li.ownerDocument, entry, mimeType); |
if (isDirectory) { |
var checkmark = li.ownerDocument.createElement('div'); |
checkmark.className = 'detail-checkmark'; |
@@ -580,21 +586,27 @@ FileGrid.prototype.decorateThumbnailBox_ = function(li, entry) { |
if (this.listThumbnailLoader_ && |
this.listThumbnailLoader_.getThumbnailFromCache(entry)) { |
var thumbnailData = this.listThumbnailLoader_.getThumbnailFromCache(entry); |
+ var mimeType = this.metadataModel_.getCache( |
+ [entry], ['contentMimeType'])[0].contentMimeType; |
FileGrid.setThumbnailImage_( |
box, |
entry, |
thumbnailData.dataUrl, |
thumbnailData.width, |
thumbnailData.height, |
- /* should not animate */ false); |
+ /* should not animate */ false, |
+ mimeType); |
li.classList.toggle('thumbnail-loaded', true); |
} else { |
var mediaType = FileType.getMediaType(entry); |
box.setAttribute('generic-thumbnail', mediaType); |
li.classList.toggle('thumbnail-loaded', false); |
} |
+ var mimeType = this.metadataModel_.getCache( |
+ [entry], ['contentMimeType'])[0].contentMimeType; |
li.classList.toggle('can-hide-filename', |
- FileType.isImage(entry) || FileType.isRaw(entry)); |
+ FileType.isImage(entry, mimeType) || |
+ FileType.isRaw(entry, mimeType)); |
}; |
/** |
@@ -642,10 +654,11 @@ FileGrid.prototype.onSplice_ = function() { |
* @param {number} height Height of thumbnail. |
* @param {boolean} shouldAnimate Whether the thumbanil is shown with animation |
* or not. |
+ * @param {string=} opt_mimeType Optional mime type for the image. |
* @private |
*/ |
FileGrid.setThumbnailImage_ = function( |
- box, entry, dataUrl, width, height, shouldAnimate) { |
+ box, entry, dataUrl, width, height, shouldAnimate, opt_mimeType) { |
var oldThumbnails = box.querySelectorAll('.thumbnail'); |
var thumbnail = box.ownerDocument.createElement('div'); |
@@ -653,7 +666,7 @@ FileGrid.setThumbnailImage_ = function( |
// If the image is JPEG or the thumbnail is larger than the grid size, resize |
// it to cover the thumbnail box. |
- var type = FileType.getType(entry); |
+ var type = FileType.getType(entry, opt_mimeType); |
if ((type.type === 'image' && type.subtype === 'JPEG') || |
width > FileGrid.GridSize || height > FileGrid.GridSize) |
thumbnail.style.backgroundSize = 'cover'; |