Index: chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js |
diff --git a/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js b/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js |
index 1907a49cc37ee0f059024d50996d0eeaa80241ab..effc6d48e7b333cd0046419ca4d603b2c98c4bfc 100644 |
--- a/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js |
+++ b/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js |
@@ -26,10 +26,8 @@ cr.define('wallpapers', function() { |
* @constructor |
* @extends {cr.ui.GridItem} |
*/ |
- function WallpaperThumbnailsGridItem(wallpaperInfo, |
- dataModelId, |
- thumbnail, |
- callback) { |
+ function WallpaperThumbnailsGridItem( |
+ wallpaperInfo, dataModelId, thumbnail, callback) { |
var el = new GridItem(wallpaperInfo); |
el.__proto__ = WallpaperThumbnailsGridItem.prototype; |
el.dataModelId_ = dataModelId; |
@@ -100,68 +98,68 @@ cr.define('wallpapers', function() { |
var getThumbnail = function(fileName) { |
var setURL = function(fileEntry) { |
imageEl.src = fileEntry.toURL(); |
- self.callback_(self.dataModelId_, |
- self.dataItem.wallpaperId, |
- imageEl); |
+ self.callback_( |
+ self.dataModelId_, self.dataItem.wallpaperId, imageEl); |
}; |
var fallback = function() { |
wallpaperDirectories.getDirectory( |
Constants.WallpaperDirNameEnum.ORIGINAL, function(dirEntry) { |
- dirEntry.getFile(fileName, {create: false}, setURL, |
- errorHandler); |
- }, errorHandler); |
+ dirEntry.getFile( |
+ fileName, {create: false}, setURL, errorHandler); |
+ }, errorHandler); |
}; |
var success = function(dirEntry) { |
dirEntry.getFile(fileName, {create: false}, setURL, fallback); |
}; |
wallpaperDirectories.getDirectory( |
- Constants.WallpaperDirNameEnum.THUMBNAIL, success, errorHandler); |
+ Constants.WallpaperDirNameEnum.THUMBNAIL, success, |
+ errorHandler); |
}; |
getThumbnail(self.dataItem.baseURL); |
break; |
case Constants.WallpaperSourceEnum.OEM: |
case Constants.WallpaperSourceEnum.Online: |
- chrome.wallpaperPrivate.getThumbnail(this.dataItem.baseURL, |
- this.dataItem.source, |
- function(data) { |
- if (data) { |
- var blob = new Blob([new Int8Array(data)], |
- {'type': 'image\/png'}); |
- imageEl.src = window.URL.createObjectURL(blob); |
- imageEl.addEventListener('load', function(e) { |
- self.callback_(self.dataModelId_, |
- self.dataItem.wallpaperId, |
- imageEl); |
- window.URL.revokeObjectURL(this.src); |
- }); |
- } else if (self.dataItem.source == |
- Constants.WallpaperSourceEnum.Online) { |
- var xhr = new XMLHttpRequest(); |
- xhr.open('GET', self.dataItem.baseURL + ThumbnailSuffix, true); |
- xhr.responseType = 'arraybuffer'; |
- xhr.send(null); |
- xhr.addEventListener('load', function(e) { |
- if (xhr.status === 200) { |
- chrome.wallpaperPrivate.saveThumbnail(self.dataItem.baseURL, |
- xhr.response); |
- var blob = new Blob([new Int8Array(xhr.response)], |
- {'type' : 'image\/png'}); |
+ chrome.wallpaperPrivate.getThumbnail( |
+ this.dataItem.baseURL, this.dataItem.source, function(data) { |
+ if (data) { |
+ var blob = |
+ new Blob([new Int8Array(data)], {'type': 'image\/png'}); |
imageEl.src = window.URL.createObjectURL(blob); |
- // TODO(bshe): We currently use empty div to reserve space for |
- // thumbnail. Use a placeholder like "loading" image may |
- // better. |
imageEl.addEventListener('load', function(e) { |
- self.callback_(self.dataModelId_, |
- self.dataItem.wallpaperId, |
- this); |
+ self.callback_( |
+ self.dataModelId_, self.dataItem.wallpaperId, imageEl); |
window.URL.revokeObjectURL(this.src); |
}); |
- } else { |
- self.callback_(self.dataModelId_); |
+ } else if ( |
+ self.dataItem.source == |
+ Constants.WallpaperSourceEnum.Online) { |
+ var xhr = new XMLHttpRequest(); |
+ xhr.open( |
+ 'GET', self.dataItem.baseURL + ThumbnailSuffix, true); |
+ xhr.responseType = 'arraybuffer'; |
+ xhr.send(null); |
+ xhr.addEventListener('load', function(e) { |
+ if (xhr.status === 200) { |
+ chrome.wallpaperPrivate.saveThumbnail( |
+ self.dataItem.baseURL, xhr.response); |
+ var blob = new Blob( |
+ [new Int8Array(xhr.response)], |
+ {'type': 'image\/png'}); |
+ imageEl.src = window.URL.createObjectURL(blob); |
+ // TODO(bshe): We currently use empty div to reserve space |
+ // for thumbnail. Use a placeholder like "loading" image |
+ // may better. |
+ imageEl.addEventListener('load', function(e) { |
+ self.callback_( |
+ self.dataModelId_, self.dataItem.wallpaperId, this); |
+ window.URL.revokeObjectURL(this.src); |
+ }); |
+ } else { |
+ self.callback_(self.dataModelId_); |
+ } |
+ }); |
} |
}); |
- } |
- }); |
break; |
case Constants.WallpaperSourceEnum.Daily: |
case Constants.WallpaperSourceEnum.ThirdParty: |
@@ -322,9 +320,7 @@ cr.define('wallpapers', function() { |
* @param {object} opt_thumbnail The thumbnail image that associated with |
* the opt_wallpaperId. |
*/ |
- pendingItemComplete: function(dataModelId, |
- opt_wallpaperId, |
- opt_thumbnail) { |
+ pendingItemComplete: function(dataModelId, opt_wallpaperId, opt_thumbnail) { |
if (dataModelId != this.dataModelId_) |
return; |
this.pendingItems_--; |
@@ -352,9 +348,11 @@ cr.define('wallpapers', function() { |
this.itemConstructor = function(value) { |
var dataModelId = self.dataModelId_; |
self.pendingItems_++; |
- return WallpaperThumbnailsGridItem(value, dataModelId, |
+ return WallpaperThumbnailsGridItem( |
+ value, dataModelId, |
(value.wallpaperId == null) ? |
- null : self.thumbnailList_[value.wallpaperId], |
+ null : |
+ self.thumbnailList_[value.wallpaperId], |
self.pendingItemComplete.bind(self)); |
}; |
this.selectionModel = new ListSingleSelectionModel(); |
@@ -439,7 +437,5 @@ cr.define('wallpapers', function() { |
} |
}; |
- return { |
- WallpaperThumbnailsGrid: WallpaperThumbnailsGrid |
- }; |
+ return {WallpaperThumbnailsGrid: WallpaperThumbnailsGrid}; |
}); |