diff options
author | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-03 20:45:53 +0000 |
---|---|---|
committer | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-03 20:45:53 +0000 |
commit | 1c7abf7a02fe79fdd77fc09e8b7c658f449ed6f7 (patch) | |
tree | 96e5b831ce305a1684f0c9278d73896267c095ae | |
parent | f861b390b63e33491ed82c3b2fb29eb17a4849e1 (diff) | |
download | chromium_src-1c7abf7a02fe79fdd77fc09e8b7c658f449ed6f7.zip chromium_src-1c7abf7a02fe79fdd77fc09e8b7c658f449ed6f7.tar.gz chromium_src-1c7abf7a02fe79fdd77fc09e8b7c658f449ed6f7.tar.bz2 |
Use low resolution wallpapers for small screens
BUG=140336
TBR=jhawkins
Review URL: https://chromiumcodereview.appspot.com/10837089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149915 0039d316-1c4b-4281-b951-d872f2087c98
7 files changed, 364 insertions, 108 deletions
diff --git a/ash/desktop_background/desktop_background_controller.cc b/ash/desktop_background/desktop_background_controller.cc index 022ca0b..3f9dcba 100644 --- a/ash/desktop_background/desktop_background_controller.cc +++ b/ash/desktop_background/desktop_background_controller.cc @@ -23,6 +23,10 @@ namespace ash { namespace { + +const int kSmallWallpaperMaximalWidth = 1366; +const int kSmallWallpaperMaximalHeight = 800; + internal::RootWindowLayoutManager* GetRootWindowLayoutManager( aura::RootWindow* root_window) { return static_cast<internal::RootWindowLayoutManager*>( @@ -32,11 +36,11 @@ internal::RootWindowLayoutManager* GetRootWindowLayoutManager( // Stores the current wallpaper data. struct DesktopBackgroundController::WallpaperData { - explicit WallpaperData(int index) + WallpaperData(int index, WallpaperResolution resolution) : wallpaper_index(index), - wallpaper_layout(GetWallpaperInfo(index).layout), + wallpaper_layout(GetWallpaperViewInfo(index, resolution).layout), wallpaper_image(*(ui::ResourceBundle::GetSharedInstance().GetImageNamed( - GetWallpaperInfo(index).id).ToImageSkia())) { + GetWallpaperViewInfo(index, resolution).id).ToImageSkia())) { } WallpaperData(WallpaperLayout layout, const gfx::ImageSkia& image) : wallpaper_index(-1), @@ -54,7 +58,9 @@ class DesktopBackgroundController::WallpaperOperation : public base::RefCountedThreadSafe< DesktopBackgroundController::WallpaperOperation> { public: - explicit WallpaperOperation(int index) : index_(index) { + WallpaperOperation(int index, WallpaperResolution resolution) + : index_(index), + resolution_(resolution) { } static void Run(scoped_refptr<WallpaperOperation> wo) { @@ -64,7 +70,7 @@ class DesktopBackgroundController::WallpaperOperation void LoadingWallpaper() { if (cancel_flag_.IsSet()) return; - wallpaper_data_.reset(new WallpaperData(index_)); + wallpaper_data_.reset(new WallpaperData(index_, resolution_)); } void Cancel() { @@ -85,7 +91,9 @@ class DesktopBackgroundController::WallpaperOperation scoped_ptr<WallpaperData> wallpaper_data_; - int index_; + const int index_; + + const WallpaperResolution resolution_; DISALLOW_COPY_AND_ASSIGN(WallpaperOperation); }; @@ -123,7 +131,17 @@ void DesktopBackgroundController::OnRootWindowAdded( switch (desktop_background_mode_) { case BACKGROUND_IMAGE: if (current_wallpaper_.get()) { - SetDesktopBackgroundImage(root_window); + gfx::Size root_window_size = root_window->GetHostSize(); + int wallpaper_width = current_wallpaper_->wallpaper_image.width(); + int wallpaper_height = current_wallpaper_->wallpaper_image.height(); + // Loads a higher resolution wallpaper if needed. + if ((wallpaper_width < root_window_size.width() || + wallpaper_height < root_window_size.height()) && + current_wallpaper_->wallpaper_index != -1 && + current_wallpaper_->wallpaper_layout != TILE) + SetDefaultWallpaper(current_wallpaper_->wallpaper_index, true); + else + SetDesktopBackgroundImage(root_window); } else { internal::CreateDesktopBackground(root_window); } @@ -134,7 +152,8 @@ void DesktopBackgroundController::OnRootWindowAdded( } } -void DesktopBackgroundController::SetDefaultWallpaper(int index) { +void DesktopBackgroundController::SetDefaultWallpaper(int index, + bool force_reload) { // We should not change background when index is invalid. For instance, at // login screen or stub_user login. if (index == ash::GetInvalidWallpaperIndex()) { @@ -145,12 +164,23 @@ void DesktopBackgroundController::SetDefaultWallpaper(int index) { return; } - if (current_wallpaper_.get() && current_wallpaper_->wallpaper_index == index) + if (!force_reload && current_wallpaper_.get() && + current_wallpaper_->wallpaper_index == index) return; CancelPendingWallpaperOperation(); - wallpaper_op_ = new WallpaperOperation(index); + WallpaperResolution resolution = SMALL; + Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); + for (Shell::RootWindowList::iterator iter = root_windows.begin(); + iter != root_windows.end(); ++iter) { + gfx::Size root_window_size = (*iter)->GetHostSize(); + if (root_window_size.width() > kSmallWallpaperMaximalWidth || + root_window_size.height() > kSmallWallpaperMaximalHeight) + resolution = LARGE; + } + + wallpaper_op_ = new WallpaperOperation(index, resolution); base::WorkerPool::PostTaskAndReply( FROM_HERE, base::Bind(&WallpaperOperation::Run, wallpaper_op_), diff --git a/ash/desktop_background/desktop_background_controller.h b/ash/desktop_background/desktop_background_controller.h index b575654..813e338 100644 --- a/ash/desktop_background/desktop_background_controller.h +++ b/ash/desktop_background/desktop_background_controller.h @@ -71,8 +71,10 @@ class ASH_EXPORT DesktopBackgroundController { void OnRootWindowAdded(aura::RootWindow* root_window); // Loads default wallpaper at |index| asynchronously and sets to current - // wallpaper after loaded. - void SetDefaultWallpaper(int index); + // wallpaper after loaded. When |force_reload| is true, reload wallpaper + // for all root windows even if |index| is the same as current wallpaper. It + // must be true when a different resolution of current wallpaper is needed. + void SetDefaultWallpaper(int index, bool force_reload); // Sets the user selected custom wallpaper. Called when user selected a file // from file system or changed the layout of wallpaper. diff --git a/ash/desktop_background/desktop_background_resources.cc b/ash/desktop_background/desktop_background_resources.cc index 01f7f46..48a6dcf 100644 --- a/ash/desktop_background/desktop_background_resources.cc +++ b/ash/desktop_background/desktop_background_resources.cc @@ -23,210 +23,384 @@ const char* kWallpaperLayoutArrays[] = { const ash::WallpaperInfo kDefaultWallpapers[] = { #if !defined(GOOGLE_CHROME_BUILD) { - IDR_AURA_WALLPAPERS_ROMAINGUY_0, + { + IDR_AURA_WALLPAPERS_ROMAINGUY_0_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_ROMAINGUY_0_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_ROMAINGUY_0_THUMB, - ash::CENTER_CROPPED, "Romain Guy", "http://www.curious-creature.org" }, #else { - IDR_AURA_WALLPAPERS_1_NATURE0, + { + IDR_AURA_WALLPAPERS_1_NATURE0_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE0_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE0_THUMB, - ash::CENTER_CROPPED, "Kathy Collins / Getty Images", "http://www.gettyimages.com" }, { - IDR_AURA_WALLPAPERS_1_NATURE1, + { + IDR_AURA_WALLPAPERS_1_NATURE1_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE1_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE1_THUMB, - ash::CENTER_CROPPED, "Johannes van Donge", "http://www.diginature.nl" }, { - IDR_AURA_WALLPAPERS_1_NATURE2, + { + IDR_AURA_WALLPAPERS_1_NATURE2_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE2_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE2_THUMB, - ash::CENTER_CROPPED, "Oleg Zhukov", "http://500px.com/eosboy" }, { - IDR_AURA_WALLPAPERS_1_NATURE3, + { + IDR_AURA_WALLPAPERS_1_NATURE3_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE3_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE3_THUMB, - ash::CENTER_CROPPED, "Stefano Ronchi", "http://www.stefanoronchi.com" }, { - IDR_AURA_WALLPAPERS_1_NATURE4, + { + IDR_AURA_WALLPAPERS_1_NATURE4_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE4_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE4_THUMB, - ash::CENTER_CROPPED, "Stefano Ronchi", "http://www.stefanoronchi.com" }, { - IDR_AURA_WALLPAPERS_1_NATURE5, + { + IDR_AURA_WALLPAPERS_1_NATURE5_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE5_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE5_THUMB, - ash::CENTER_CROPPED, "Mario Moreno", "http://www.mariomorenophotography.com" }, { - IDR_AURA_WALLPAPERS_1_NATURE6, + { + IDR_AURA_WALLPAPERS_1_NATURE6_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE6_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE6_THUMB, - ash::CENTER_CROPPED, "Walter Soestbergen", "http://www.waltersoestbergen.nl" }, { - IDR_AURA_WALLPAPERS_1_NATURE7, + { + IDR_AURA_WALLPAPERS_1_NATURE7_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_1_NATURE7_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_1_NATURE7_THUMB, - ash::CENTER_CROPPED, "Mark Bridger", "http://www.bridgephotography.co.uk" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE0, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE0_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE0_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE0_THUMB, - ash::CENTER_CROPPED, "Vitali Prokopenko", "http://www.vitphoto.com/" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE1, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE1_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE1_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE1_THUMB, - ash::CENTER_CROPPED, "Romain Guy", "http://www.curious-creature.org" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE2, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE2_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE2_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE2_THUMB, - ash::CENTER_CROPPED, "Mark Bridger", "http://www.bridgephotography.co.uk" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE3, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE3_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE3_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE3_THUMB, - ash::CENTER_CROPPED, "Mike Reyfman", "http://mikereyfman.com" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE4, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE4_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE4_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE4_THUMB, - ash::CENTER_CROPPED, "Mike Reyfman", "http://mikereyfman.com" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE5, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE5_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE5_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE5_THUMB, - ash::CENTER_CROPPED, "Mike Reyfman", "http://mikereyfman.com" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE6, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE6_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE6_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE6_THUMB, - ash::CENTER_CROPPED, "Mike Reyfman", "http://mikereyfman.com" }, { - IDR_AURA_WALLPAPERS_2_LANDSCAPE7, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE7_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_2_LANDSCAPE7_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_2_LANDSCAPE7_THUMB, - ash::CENTER_CROPPED, "Romain Guy", "http://www.curious-creature.org" }, { - IDR_AURA_WALLPAPERS_3_URBAN0, + { + IDR_AURA_WALLPAPERS_3_URBAN0_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_3_URBAN0_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_3_URBAN0_THUMB, - ash::CENTER_CROPPED, "Paulo FLOP", "http://500px.com/FLOP" }, { - IDR_AURA_WALLPAPERS_3_URBAN1, + { + IDR_AURA_WALLPAPERS_3_URBAN1_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_3_URBAN1_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_3_URBAN1_THUMB, - ash::CENTER_CROPPED, "Mike Reyfman", "http://mikereyfman.com" }, { - IDR_AURA_WALLPAPERS_3_URBAN2, + { + IDR_AURA_WALLPAPERS_3_URBAN2_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_3_URBAN2_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_3_URBAN2_THUMB, - ash::CENTER_CROPPED, "Neil Kremer", "http://lightshedimagery.smugmug.com" }, { - IDR_AURA_WALLPAPERS_3_URBAN3, + { + IDR_AURA_WALLPAPERS_3_URBAN3_LARGE, + ash::CENTER_CROPPED + }, + { + IDR_AURA_WALLPAPERS_3_URBAN3_SMALL, + ash::CENTER + }, IDR_AURA_WALLPAPERS_3_URBAN3_THUMB, - ash::CENTER_CROPPED, "Neil Kremer", "http://lightshedimagery.smugmug.com" }, #endif { - IDR_AURA_WALLPAPERS_5_GRADIENT0, + { + IDR_AURA_WALLPAPERS_5_GRADIENT0_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT0_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT0_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT1, + { + IDR_AURA_WALLPAPERS_5_GRADIENT1_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT1_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT1_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT2, + { + IDR_AURA_WALLPAPERS_5_GRADIENT2_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT2_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT2_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT3, + { + IDR_AURA_WALLPAPERS_5_GRADIENT3_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT3_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT3_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT4, + { + IDR_AURA_WALLPAPERS_5_GRADIENT4_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT4_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT4_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT5, + { + IDR_AURA_WALLPAPERS_5_GRADIENT5_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT5_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT5_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT6, + { + IDR_AURA_WALLPAPERS_5_GRADIENT6_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT6_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT6_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" }, { - IDR_AURA_WALLPAPERS_5_GRADIENT7, + { + IDR_AURA_WALLPAPERS_5_GRADIENT7_LARGE, + ash::TILE + }, + { + IDR_AURA_WALLPAPERS_5_GRADIENT7_SMALL, + ash::TILE + }, IDR_AURA_WALLPAPERS_5_GRADIENT7_THUMB, - ash::TILE, "Chromium", "http://www.chromium.org" - }, + } }; const int kWallpaperLayoutCount = arraysize(kWallpaperLayoutArrays); @@ -294,4 +468,12 @@ const WallpaperInfo& GetWallpaperInfo(int index) { return kDefaultWallpapers[index]; } +const WallpaperViewInfo& GetWallpaperViewInfo(int index, + WallpaperResolution resolution) { + if (resolution == SMALL) + return kDefaultWallpapers[index].small; + else + return kDefaultWallpapers[index].large; +} + } // namespace ash diff --git a/ash/desktop_background/desktop_background_resources.h b/ash/desktop_background/desktop_background_resources.h index 54cdf55..f9c99b5 100644 --- a/ash/desktop_background/desktop_background_resources.h +++ b/ash/desktop_background/desktop_background_resources.h @@ -19,10 +19,21 @@ enum WallpaperLayout { TILE, }; -struct ASH_EXPORT WallpaperInfo { +enum WallpaperResolution { + LARGE, + SMALL +}; + +// Encapsulates wallpaper infomation needed by desktop background view. +struct ASH_EXPORT WallpaperViewInfo { int id; - int thumb_id; WallpaperLayout layout; +}; + +struct ASH_EXPORT WallpaperInfo { + WallpaperViewInfo large; + WallpaperViewInfo small; + int thumb_id; // TODO(bshe): author member should be encoded to UTF16. We need to use i18n // string for this member after M19. const char* author; @@ -39,6 +50,8 @@ ASH_EXPORT int GetNextWallpaperIndex(int index); ASH_EXPORT int GetSolidColorIndex(); ASH_EXPORT int GetWallpaperCount(); ASH_EXPORT const WallpaperInfo& GetWallpaperInfo(int index); +ASH_EXPORT const WallpaperViewInfo& GetWallpaperViewInfo(int index, + WallpaperResolution resolution); } // namespace ash diff --git a/chrome/browser/chromeos/login/wallpaper_manager.cc b/chrome/browser/chromeos/login/wallpaper_manager.cc index 1543c1e..8fa5b66 100644 --- a/chrome/browser/chromeos/login/wallpaper_manager.cc +++ b/chrome/browser/chromeos/login/wallpaper_manager.cc @@ -206,7 +206,7 @@ void WallpaperManager::InitializeWallpaper() { // TODO(nkostylev): Add switch to disable wallpaper transition on OOBE. // Should be used on test images so that they are not slowed down. ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(kDefaultOOBEWallpaperIndex); + SetDefaultWallpaper(kDefaultOOBEWallpaperIndex, false); } else { bool show_users = true; bool result = CrosSettings::Get()->GetBoolean( @@ -215,7 +215,7 @@ void WallpaperManager::InitializeWallpaper() { << kAccountsPrefShowUserNamesOnSignIn; if (!show_users) { ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(ash::GetSolidColorIndex()); + SetDefaultWallpaper(ash::GetSolidColorIndex(), false); } } } @@ -307,7 +307,7 @@ void WallpaperManager::SetInitialUserWallpaper(const std::string& username) { // crash and speed up the tests by avoid loading wallpaper. if (ash::Shell::HasInstance()) { ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(current_user_wallpaper_index_); + SetDefaultWallpaper(current_user_wallpaper_index_, false); } } @@ -366,7 +366,7 @@ void WallpaperManager::SetUserWallpaper(const std::string& email) { return; } ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(index); + SetDefaultWallpaper(index, false); SetLastSelectedUser(email); } @@ -381,7 +381,7 @@ void WallpaperManager::OnUserDeselected() { if (!UserManager::Get()->IsUserLoggedIn()) { // This will set default login wallpaper (#fefefe). ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(ash::GetSolidColorIndex()); + SetDefaultWallpaper(ash::GetSolidColorIndex(), false); } } diff --git a/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler.cc b/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler.cc index 2137452..9de453dd 100644 --- a/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler.cc +++ b/chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handler.cc @@ -248,7 +248,7 @@ void SetWallpaperOptionsHandler::HandleDailyWallpaper(const ListValue* args) { index = ash::GetNextWallpaperIndex(index); UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DAILY, index); ash::Shell::GetInstance()->desktop_background_controller()-> - SetDefaultWallpaper(index); + SetDefaultWallpaper(index, false); base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); base::FundamentalValue is_daily(true); web_ui()->CallJavascriptFunction("SetWallpaperOptions.setSelectedImage", diff --git a/ui/resources/ui_resources.grd b/ui/resources/ui_resources.grd index 41db982..d94da3f 100644 --- a/ui/resources/ui_resources.grd +++ b/ui/resources/ui_resources.grd @@ -470,71 +470,100 @@ <includes> <!-- Wallpapers used by Ash when building ChromiumOS. --> <if expr="pp_ifdef('use_ash') and not pp_ifdef('_google_chrome')"> - <include name="IDR_AURA_WALLPAPERS_ROMAINGUY_0" file="aura/wallpapers/romainguy_0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_ROMAINGUY_0_LARGE" file="aura/wallpapers/large/romainguy_0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_ROMAINGUY_0_SMALL" file="aura/wallpapers/small/romainguy_0.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_ROMAINGUY_0_THUMB" file="aura/wallpapers/romainguy_0_thumb.jpg" type="BINDATA" /> </if> <!-- Wallpapers available to Ash when building Official ChromeOS. --> <if expr="pp_ifdef('use_ash') and pp_ifdef('_google_chrome')"> - <include name="IDR_AURA_WALLPAPERS_1_NATURE0" file="aura/google_wallpapers/1-nature0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE0_LARGE" file="aura/google_wallpapers/large/1-nature0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE0_SMALL" file="aura/google_wallpapers/small/1-nature0.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE0_THUMB" file="aura/google_wallpapers/1-nature0_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE1" file="aura/google_wallpapers/1-nature1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE1_LARGE" file="aura/google_wallpapers/large/1-nature1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE1_SMALL" file="aura/google_wallpapers/small/1-nature1.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE1_THUMB" file="aura/google_wallpapers/1-nature1_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE2" file="aura/google_wallpapers/1-nature2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE2_LARGE" file="aura/google_wallpapers/large/1-nature2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE2_SMALL" file="aura/google_wallpapers/small/1-nature2.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE2_THUMB" file="aura/google_wallpapers/1-nature2_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE3" file="aura/google_wallpapers/1-nature3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE3_LARGE" file="aura/google_wallpapers/large/1-nature3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE3_SMALL" file="aura/google_wallpapers/small/1-nature3.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE3_THUMB" file="aura/google_wallpapers/1-nature3_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE4" file="aura/google_wallpapers/1-nature4.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE4_LARGE" file="aura/google_wallpapers/large/1-nature4.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE4_SMALL" file="aura/google_wallpapers/small/1-nature4.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE4_THUMB" file="aura/google_wallpapers/1-nature4_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE5" file="aura/google_wallpapers/1-nature5.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE5_LARGE" file="aura/google_wallpapers/large/1-nature5.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE5_SMALL" file="aura/google_wallpapers/small/1-nature5.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE5_THUMB" file="aura/google_wallpapers/1-nature5_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE6" file="aura/google_wallpapers/1-nature6.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE6_LARGE" file="aura/google_wallpapers/large/1-nature6.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE6_SMALL" file="aura/google_wallpapers/small/1-nature6.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE6_THUMB" file="aura/google_wallpapers/1-nature6_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_1_NATURE7" file="aura/google_wallpapers/1-nature7.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE7_LARGE" file="aura/google_wallpapers/large/1-nature7.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_1_NATURE7_SMALL" file="aura/google_wallpapers/small/1-nature7.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_1_NATURE7_THUMB" file="aura/google_wallpapers/1-nature7_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE0" file="aura/google_wallpapers/2-landscape0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE0_LARGE" file="aura/google_wallpapers/large/2-landscape0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE0_SMALL" file="aura/google_wallpapers/small/2-landscape0.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE0_THUMB" file="aura/google_wallpapers/2-landscape0_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE1" file="aura/google_wallpapers/2-landscape1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE1_LARGE" file="aura/google_wallpapers/large/2-landscape1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE1_SMALL" file="aura/google_wallpapers/small/2-landscape1.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE1_THUMB" file="aura/google_wallpapers/2-landscape1_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE2" file="aura/google_wallpapers/2-landscape2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE2_LARGE" file="aura/google_wallpapers/large/2-landscape2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE2_SMALL" file="aura/google_wallpapers/small/2-landscape2.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE2_THUMB" file="aura/google_wallpapers/2-landscape2_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE3" file="aura/google_wallpapers/2-landscape3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE3_LARGE" file="aura/google_wallpapers/large/2-landscape3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE3_SMALL" file="aura/google_wallpapers/small/2-landscape3.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE3_THUMB" file="aura/google_wallpapers/2-landscape3_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE4" file="aura/google_wallpapers/2-landscape4.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE4_LARGE" file="aura/google_wallpapers/large/2-landscape4.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE4_SMALL" file="aura/google_wallpapers/small/2-landscape4.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE4_THUMB" file="aura/google_wallpapers/2-landscape4_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE5" file="aura/google_wallpapers/2-landscape5.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE5_LARGE" file="aura/google_wallpapers/large/2-landscape5.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE5_SMALL" file="aura/google_wallpapers/small/2-landscape5.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE5_THUMB" file="aura/google_wallpapers/2-landscape5_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE6" file="aura/google_wallpapers/2-landscape6.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE6_LARGE" file="aura/google_wallpapers/large/2-landscape6.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE6_SMALL" file="aura/google_wallpapers/small/2-landscape6.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE6_THUMB" file="aura/google_wallpapers/2-landscape6_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE7" file="aura/google_wallpapers/2-landscape7.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE7_LARGE" file="aura/google_wallpapers/large/2-landscape7.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE7_SMALL" file="aura/google_wallpapers/small/2-landscape7.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_2_LANDSCAPE7_THUMB" file="aura/google_wallpapers/2-landscape7_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_3_URBAN0" file="aura/google_wallpapers/3-urban0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN0_LARGE" file="aura/google_wallpapers/large/3-urban0.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN0_SMALL" file="aura/google_wallpapers/small/3-urban0.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_3_URBAN0_THUMB" file="aura/google_wallpapers/3-urban0_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_3_URBAN1" file="aura/google_wallpapers/3-urban1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN1_LARGE" file="aura/google_wallpapers/large/3-urban1.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN1_SMALL" file="aura/google_wallpapers/small/3-urban1.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_3_URBAN1_THUMB" file="aura/google_wallpapers/3-urban1_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_3_URBAN2" file="aura/google_wallpapers/3-urban2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN2_LARGE" file="aura/google_wallpapers/large/3-urban2.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN2_SMALL" file="aura/google_wallpapers/small/3-urban2.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_3_URBAN2_THUMB" file="aura/google_wallpapers/3-urban2_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_3_URBAN3" file="aura/google_wallpapers/3-urban3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN3_LARGE" file="aura/google_wallpapers/large/3-urban3.jpg" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_3_URBAN3_SMALL" file="aura/google_wallpapers/small/3-urban3.jpg" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_3_URBAN3_THUMB" file="aura/google_wallpapers/3-urban3_thumb.png" type="BINDATA" /> </if> <!-- Wallpapers (gradients) used by Ash. --> <if expr="pp_ifdef('use_ash')"> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT0" file="aura/wallpapers/5-gradient0.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT0_LARGE" file="aura/wallpapers/large/5-gradient0.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT0_SMALL" file="aura/wallpapers/small/5-gradient0.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT0_THUMB" file="aura/wallpapers/5-gradient0_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT1" file="aura/wallpapers/5-gradient1.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT1_LARGE" file="aura/wallpapers/large/5-gradient1.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT1_SMALL" file="aura/wallpapers/small/5-gradient1.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT1_THUMB" file="aura/wallpapers/5-gradient1_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT2" file="aura/wallpapers/5-gradient2.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT2_LARGE" file="aura/wallpapers/large/5-gradient2.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT2_SMALL" file="aura/wallpapers/small/5-gradient2.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT2_THUMB" file="aura/wallpapers/5-gradient2_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT3" file="aura/wallpapers/5-gradient3.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT3_LARGE" file="aura/wallpapers/large/5-gradient3.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT3_SMALL" file="aura/wallpapers/small/5-gradient3.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT3_THUMB" file="aura/wallpapers/5-gradient3_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT4" file="aura/wallpapers/5-gradient4.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT4_LARGE" file="aura/wallpapers/large/5-gradient4.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT4_SMALL" file="aura/wallpapers/small/5-gradient4.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT4_THUMB" file="aura/wallpapers/5-gradient4_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT5" file="aura/wallpapers/5-gradient5.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT5_LARGE" file="aura/wallpapers/large/5-gradient5.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT5_SMALL" file="aura/wallpapers/small/5-gradient5.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT5_THUMB" file="aura/wallpapers/5-gradient5_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT6" file="aura/wallpapers/5-gradient6.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT6_LARGE" file="aura/wallpapers/large/5-gradient6.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT6_SMALL" file="aura/wallpapers/small/5-gradient6.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT6_THUMB" file="aura/wallpapers/5-gradient6_thumb.png" type="BINDATA" /> - <include name="IDR_AURA_WALLPAPERS_5_GRADIENT7" file="aura/wallpapers/5-gradient7.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT7_LARGE" file="aura/wallpapers/large/5-gradient7.png" type="BINDATA" /> + <include name="IDR_AURA_WALLPAPERS_5_GRADIENT7_SMALL" file="aura/wallpapers/small/5-gradient7.png" type="BINDATA" /> <include name="IDR_AURA_WALLPAPERS_5_GRADIENT7_THUMB" file="aura/wallpapers/5-gradient7_thumb.png" type="BINDATA" /> </if> </includes> |