Chromium Code Reviews| Index: chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler2.cc |
| diff --git a/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler2.cc b/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler2.cc |
| index 58cb08fd1164485f94cfa770e460673dd9b4b0fc..b7a6513d98672bb5a7b061db36729491a5542212 100644 |
| --- a/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler2.cc |
| +++ b/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler2.cc |
| @@ -19,7 +19,7 @@ |
| #include "chrome/browser/ui/browser_list.h" |
| #include "chrome/browser/ui/browser_window.h" |
| #include "chrome/browser/ui/views/window.h" |
| -#include "chrome/browser/ui/webui/web_ui_util.h" |
| +#include "chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.h" |
| #include "chrome/common/chrome_notification_types.h" |
| #include "content/public/browser/notification_service.h" |
| #include "content/public/browser/web_ui.h" |
| @@ -65,12 +65,10 @@ void SetWallpaperOptionsHandler::SendDefaultImages() { |
| ListValue images; |
| DictionaryValue* image_detail; |
| ash::WallpaperInfo image_info; |
| - |
|
James Hawkins
2012/04/20 19:40:17
Please don't make random whitespace changes like t
bshe
2012/04/20 21:11:43
Sorry. Didn't notice it. Thanks.
On 2012/04/20 19
|
| for (int i = 0; i < ash::GetWallpaperCount(); ++i) { |
| images.Append(image_detail = new DictionaryValue()); |
| image_info = ash::GetWallpaperInfo(i); |
| - image_detail->SetString("url", web_ui_util::GetImageDataUrl( |
| - ash::GetWallpaperThumbnail(i))); |
| + image_detail->SetString("url", GetDefaultWallpaperThumbnailURL(i)); |
| image_detail->SetString("author", image_info.author); |
| image_detail->SetString("website", image_info.website); |
| } |
| @@ -89,24 +87,27 @@ void SetWallpaperOptionsHandler::HandlePageInitialized( |
| void SetWallpaperOptionsHandler::HandlePageShown(const base::ListValue* args) { |
| DCHECK(args && args->empty()); |
| int index = chromeos::UserManager::Get()->GetUserWallpaperIndex(); |
| - base::FundamentalValue index_value(index); |
| + base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); |
| web_ui()->CallJavascriptFunction("SetWallpaperOptions.setSelectedImage", |
| - index_value); |
| + image_url); |
| } |
| void SetWallpaperOptionsHandler::HandleSelectImage(const ListValue* args) { |
| - std::string image_index_string; |
| - int image_index; |
| + std::string image_url; |
| if (!args || |
| args->GetSize() != 1 || |
| - !args->GetString(0, &image_index_string) || |
| - !base::StringToInt(image_index_string, &image_index) || |
| - image_index < 0 || image_index >= ash::GetWallpaperCount()) |
| + !args->GetString(0, &image_url)) |
| NOTREACHED(); |
| - UserManager::Get()->SaveUserWallpaperIndex(image_index); |
| - ash::Shell::GetInstance()->desktop_background_controller()-> |
| - SetDesktopBackgroundImageMode(); |
| + if (image_url.empty()) |
| + return; |
| + |
| + int user_image_index; |
| + if (IsDefaultWallpaperURL(image_url, &user_image_index)) { |
| + UserManager::Get()->SaveUserWallpaperIndex(user_image_index); |
| + ash::Shell::GetInstance()->desktop_background_controller()-> |
| + SetDesktopBackgroundImageMode(); |
| + } |
| } |
| gfx::NativeWindow SetWallpaperOptionsHandler::GetBrowserWindow() const { |