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

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

Issue 10890038: Hook up custom wallpaper code path to new wallpaper picker. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months 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_manager.js
diff --git a/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js b/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js
index 18d34ce5eac1c94cd2e0e054a09b770348d5701e..15d77909a13be711b4fce03c173d168f243dd737 100644
--- a/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js
+++ b/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js
@@ -114,6 +114,9 @@ function WallpaperManager(dialogDom) {
this.dialogDom_.querySelector('#file-selector').addEventListener(
'change', this.onFileSelectorChanged_.bind(this));
+ this.dialogDom_.querySelector('#set-wallpaper-layout').addEventListener(
+ 'change', this.onWallpaperLayoutChanged_.bind(this));
+
this.dialogDom_.ownerDocument.defaultView.addEventListener(
'resize', this.onResize_.bind(this));
@@ -248,10 +251,38 @@ function WallpaperManager(dialogDom) {
var files = this.dialogDom_.querySelector('#file-selector').files;
if (files.length != 1)
console.error('More than one files are selected or no file selected');
+ var reader = new FileReader();
+ reader.readAsArrayBuffer(files[0]);
+ var self = this;
flackr 2012/08/29 18:43:45 Add TODO to handle onerror.
bshe 2012/08/30 19:22:40 Done.
+ reader.onload = function(e) {
Ivan Korotkov 2012/08/30 14:07:36 Use addEventListener
bshe 2012/08/30 19:22:40 Looks like some other places use the same .onload/
+ self.loadedFile_ = e.target.result;
+ self.refreshWallpaper_();
+ };
this.generateThumbnail_(files[0]);
};
/**
+ * Refreshes the custom wallpaper with the current selected layout.
+ */
+ WallpaperManager.prototype.refreshWallpaper_ = function() {
+ var setWallpaperLayout =
+ this.dialogDom_.querySelector('#set-wallpaper-layout');
Ivan Korotkov 2012/08/30 14:07:36 Could be just $('set-wallpaper-layout');
bshe 2012/08/30 19:22:40 I followed file manager js coding style. Not sure
dgozman 2012/08/31 09:20:08 Well, we just don't like it. It can be also confus
+ var layout =
+ setWallpaperLayout.options[setWallpaperLayout.selectedIndex].value;
+ if (this.loadedFile_) {
flackr 2012/08/29 18:43:45 I think you should guarantee that loadedFile_ is s
bshe 2012/08/30 19:22:40 Done.
+ chrome.wallpaperPrivate.setCustomWallpaper(this.loadedFile_,
+ layout);
+ }
+ };
+
+ /**
+ * Handles the layout setting change of custom wallpaper.
+ */
+ WallpaperManager.prototype.onWallpaperLayoutChanged_ = function() {
+ this.refreshWallpaper_();
flackr 2012/08/29 18:43:45 i.e. if (this.loadedFile_) this.refreshWal
bshe 2012/08/30 19:22:40 Done.
+ };
+
+ /**
* Generates a thumbnail of user selected image file.
* @param {Object} file The file user selected from file manager.
*/

Powered by Google App Engine
This is Rietveld 408576698