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 62208a25cfddd2ab2ebc68e0120036ca29b0b98e..57c59c9467775f551cf35b3fe36376d48d16d69b 100644 |
| --- a/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js |
| +++ b/chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js |
| @@ -253,6 +253,11 @@ function WallpaperManager(dialogDom) { |
| $('set-wallpaper-layout').addEventListener( |
| 'change', this.onWallpaperLayoutChanged_.bind(this)); |
| + if (loadTimeData.valueExists('wallpaperAppName')) { |
| + $('wallpaper-set-by-message').textContent = loadTimeData.getStringF( |
| + 'currentWallpaperSetByMessage', str('wallpaperAppName')); |
| + } |
| + |
| if (this.enableOnlineWallpaper_) { |
| var self = this; |
| $('surprise-me').hidden = false; |
| @@ -352,6 +357,7 @@ function WallpaperManager(dialogDom) { |
| // Active custom wallpaper is also copied in chronos data dir. It needs |
| // to be deleted. |
| chrome.wallpaperPrivate.resetWallpaper(); |
| + this.onWallpaperChanged_(null, null); |
| } else { |
| selectedIndex = Math.min(selectedIndex, customWallpaperCount - 1); |
| wallpaperGrid.selectionModel.selectedIndex = selectedIndex; |
| @@ -473,6 +479,22 @@ function WallpaperManager(dialogDom) { |
| }; |
| /** |
| + * Moves the check mark to |activeItem| and hides the wallpaper set by third |
| + * party message if any. Called when wallpaper changed successfully. |
| + * @param {?Object} activeItem The active item in WallpaperThumbnailsGrid's |
| + * data model. |
| + * @param {?string} currentWallpaperURL The URL or filename of current |
| + * wallpaper. |
| + */ |
| + WallpaperManager.prototype.onWallpaperChanged_ = function(activeItem, |
| + currentWallpaperURL) { |
|
flackr
2014/06/18 21:26:58
nit: align, or wrap first arg.
bshe
2014/06/18 21:31:20
Done.
|
| + this.wallpaperGrid_.activeItem = activeItem; |
| + this.currentWallpaper_ = currentWallpaperURL; |
| + // Hides the wallpaper set by message. |
| + $('wallpaper-set-by-message').textContent = ''; |
| + }; |
| + |
| + /** |
| * Sets wallpaper to the corresponding wallpaper of selected thumbnail. |
| * @param {{baseURL: string, layout: string, source: string, |
| * availableOffline: boolean, opt_dynamicURL: string, |
| @@ -485,10 +507,6 @@ function WallpaperManager(dialogDom) { |
| switch (selectedItem.source) { |
| case Constants.WallpaperSourceEnum.Custom: |
| var errorHandler = this.onFileSystemError_.bind(this); |
| - var setActive = function() { |
| - self.wallpaperGrid_.activeItem = selectedItem; |
| - self.currentWallpaper_ = selectedItem.baseURL; |
| - }; |
| var success = function(dirEntry) { |
| dirEntry.getFile(selectedItem.baseURL, {create: false}, |
| function(fileEntry) { |
| @@ -500,7 +518,9 @@ function WallpaperManager(dialogDom) { |
| self.setCustomWallpaper(e.target.result, |
| selectedItem.layout, |
| false, selectedItem.baseURL, |
| - setActive, errorHandler); |
| + self.onWallpaperChanged_.bind(self, |
| + selectedItem, selectedItem.baseURL), |
| + errorHandler); |
| }); |
| }, errorHandler); |
| }, errorHandler); |
| @@ -511,8 +531,7 @@ function WallpaperManager(dialogDom) { |
| case Constants.WallpaperSourceEnum.OEM: |
| // Resets back to default wallpaper. |
| chrome.wallpaperPrivate.resetWallpaper(); |
| - this.currentWallpaper_ = selectedItem.baseURL; |
| - this.wallpaperGrid_.activeItem = selectedItem; |
| + this.onWallpaperChanged_(selectedItem, selectedItem.baseURL); |
| WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout, |
| selectedItem.source); |
| break; |
| @@ -525,8 +544,7 @@ function WallpaperManager(dialogDom) { |
| selectedItem.layout, |
| function(exists) { |
| if (exists) { |
| - self.currentWallpaper_ = wallpaperURL; |
| - self.wallpaperGrid_.activeItem = selectedItem; |
| + self.onWallpaperChanged_(selectedItem, wallpaperURL); |
| WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout, |
| selectedItem.source); |
| return; |
| @@ -543,8 +561,17 @@ function WallpaperManager(dialogDom) { |
| var image = xhr.response; |
| chrome.wallpaperPrivate.setWallpaper(image, selectedItem.layout, |
| wallpaperURL, |
| - self.onFinished_.bind(self, selectedGridItem, selectedItem)); |
| - self.currentWallpaper_ = wallpaperURL; |
| + function() { |
| + self.progressManager_.hideProgressBar(selectedGridItem); |
| + |
| + if (chrome.runtime.lastError != undefined && |
| + chrome.runtime.lastError.message != |
| + str('canceledWallpaper')) { |
| + self.showError_(chrome.runtime.lastError.message); |
| + } else { |
| + self.onWallpaperChanged_(selectedItem, wallpaperURL); |
| + } |
| + }); |
| WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout, |
| selectedItem.source); |
| self.wallpaperRequest_ = null; |
| @@ -790,8 +817,7 @@ function WallpaperManager(dialogDom) { |
| }; |
| self.wallpaperGrid_.dataModel.splice(0, 0, wallpaperInfo); |
| self.wallpaperGrid_.selectedItem = wallpaperInfo; |
| - self.wallpaperGrid_.activeItem = wallpaperInfo; |
| - self.currentWallpaper_ = fileName; |
| + self.onWallpaperChanged_(wallpaperInfo, fileName); |
| WallpaperUtil.saveToStorage(self.currentWallpaper_, layout, |
| false); |
| }; |
| @@ -902,29 +928,6 @@ function WallpaperManager(dialogDom) { |
| }; |
| /** |
| - * Sets wallpaper finished. Displays error message if any. |
| - * @param {WallpaperThumbnailsGridItem=} opt_selectedGridItem The wallpaper |
| - * thumbnail grid item. It extends from cr.ui.ListItem. |
| - * @param {{baseURL: string, layout: string, source: string, |
| - * availableOffline: boolean, opt_dynamicURL: string, |
| - * opt_author: string, opt_authorWebsite: string}=} |
| - * opt_selectedItem the selected item in WallpaperThumbnailsGrid's data |
| - * model. |
| - */ |
| - WallpaperManager.prototype.onFinished_ = function(opt_selectedGridItem, |
| - opt_selectedItem) { |
| - if (opt_selectedGridItem) |
| - this.progressManager_.hideProgressBar(opt_selectedGridItem); |
| - |
| - if (chrome.runtime.lastError != undefined && |
| - chrome.runtime.lastError.message != str('canceledWallpaper')) { |
| - this.showError_(chrome.runtime.lastError.message); |
| - } else if (opt_selectedItem) { |
| - this.wallpaperGrid_.activeItem = opt_selectedItem; |
| - } |
| - }; |
| - |
| - /** |
| * Handles the layout setting change of custom wallpaper. |
| */ |
| WallpaperManager.prototype.onWallpaperLayoutChanged_ = function() { |
| @@ -938,6 +941,8 @@ function WallpaperManager(dialogDom) { |
| $('set-wallpaper-layout').disabled = true; |
| } else { |
| WallpaperUtil.saveToStorage(self.currentWallpaper_, layout, false); |
| + self.onWallpaperChanged_(self.wallpaperGrid_.activeItem, |
| + self.currentWallpaper_); |
| } |
| }); |
| }; |