| 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 74e65edeb9fc9c2b4a371ab4b433d8541d606e78..130bc42c59523e63d97496441d4fd0eca9cf87be 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
|
| @@ -32,19 +32,36 @@ cr.define('wallpapers', function() {
|
| decorate: function() {
|
| GridItem.prototype.decorate.call(this);
|
| var imageEl = cr.doc.createElement('img');
|
| - var xhr = new XMLHttpRequest();
|
| - xhr.open('GET', this.dataItem.baseURL + ThumbnailSuffix, true);
|
| - xhr.responseType = 'blob';
|
| - xhr.send(null);
|
| var self = this;
|
| - xhr.addEventListener('load', function(e) {
|
| - if (xhr.status === 200) {
|
| - self.textContent = '';
|
| - imageEl.src = window.URL.createObjectURL(xhr.response);
|
| + chrome.wallpaperPrivate.getThumbnail(this.dataItem.baseURL,
|
| + function(data) {
|
| + if (data) {
|
| + var blob = new Blob([new Int8Array(data)]);
|
| + imageEl.src = window.URL.createObjectURL(blob);
|
| imageEl.addEventListener('load', function(e) {
|
| window.URL.revokeObjectURL(this.src);
|
| });
|
| self.appendChild(imageEl);
|
| + } else {
|
| + 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) {
|
| + self.textContent = '';
|
| + chrome.wallpaperPrivate.saveThumbnail(self.dataItem.baseURL,
|
| + xhr.response);
|
| + var blob = new Blob([new Int8Array(xhr.response)]);
|
| + 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) {
|
| + window.URL.revokeObjectURL(this.src);
|
| + });
|
| + self.appendChild(imageEl);
|
| + }
|
| + });
|
| }
|
| });
|
| },
|
|
|