Chromium Code Reviews| 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. |
| */ |