Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2221)

Unified Diff: chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_images_grid.js

Issue 11348215: Make wallpaper picker manifest and thumbnails available when offline. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove success paramter and add a todo Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
+ });
}
});
},

Powered by Google App Engine
This is Rietveld 408576698