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

Unified Diff: ash/desktop_background/desktop_background_controller.cc

Issue 81393004: ash: Avoid reloading already-resized custom wallpaper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: style fix Created 7 years, 1 month 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
« no previous file with comments | « no previous file | ash/desktop_background/desktop_background_controller_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/desktop_background/desktop_background_controller.cc
diff --git a/ash/desktop_background/desktop_background_controller.cc b/ash/desktop_background/desktop_background_controller.cc
index 2f4e6334ff3f250a068c535943cca452c49d5c6d..d1c67a93f0db256e4869c6aaf645fcb014347b39 100644
--- a/ash/desktop_background/desktop_background_controller.cc
+++ b/ash/desktop_background/desktop_background_controller.cc
@@ -169,7 +169,7 @@ DesktopBackgroundController::~DesktopBackgroundController() {
gfx::ImageSkia DesktopBackgroundController::GetWallpaper() const {
if (current_wallpaper_)
- return current_wallpaper_->wallpaper_image();
+ return current_wallpaper_->image();
return gfx::ImageSkia();
}
@@ -189,18 +189,18 @@ WallpaperLayout DesktopBackgroundController::GetWallpaperLayout() const {
return WALLPAPER_LAYOUT_CENTER_CROPPED;
}
-void DesktopBackgroundController::OnRootWindowAdded(
- aura::Window* root_window) {
+void DesktopBackgroundController::OnRootWindowAdded(aura::Window* root_window) {
// The background hasn't been set yet.
if (desktop_background_mode_ == BACKGROUND_NONE)
return;
- gfx::Size max_display_size = GetMaxDisplaySizeInNative();
+
// Handle resolution change for "built-in" images.
- if (BACKGROUND_IMAGE == desktop_background_mode_ &&
- current_wallpaper_.get() &&
- current_max_display_size_ != max_display_size) {
+ gfx::Size max_display_size = GetMaxDisplaySizeInNative();
+ if (current_max_display_size_ != max_display_size) {
current_max_display_size_ = max_display_size;
- UpdateWallpaper();
+ if (desktop_background_mode_ == BACKGROUND_IMAGE &&
+ current_wallpaper_.get())
+ UpdateWallpaper();
}
InstallDesktopController(root_window);
@@ -306,11 +306,14 @@ void DesktopBackgroundController::OnDisplayConfigurationChanged() {
gfx::Size max_display_size = GetMaxDisplaySizeInNative();
if (current_max_display_size_ != max_display_size) {
current_max_display_size_ = max_display_size;
- timer_.Stop();
- timer_.Start(FROM_HERE,
- base::TimeDelta::FromMilliseconds(wallpaper_reload_delay_),
- this,
- &DesktopBackgroundController::UpdateWallpaper);
+ if (desktop_background_mode_ == BACKGROUND_IMAGE &&
+ current_wallpaper_.get()) {
+ timer_.Stop();
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(wallpaper_reload_delay_),
+ this,
+ &DesktopBackgroundController::UpdateWallpaper);
+ }
}
}
@@ -327,7 +330,8 @@ bool DesktopBackgroundController::DefaultWallpaperIsAlreadyLoadingOrLoaded(
bool DesktopBackgroundController::CustomWallpaperIsAlreadyLoaded(
const gfx::ImageSkia& image) const {
return current_wallpaper_.get() &&
- current_wallpaper_->wallpaper_image().BackedBySameObjectAs(image);
+ (WallpaperResizer::GetImageId(image) ==
+ current_wallpaper_->original_image_id());
}
void DesktopBackgroundController::SetDesktopBackgroundImageMode() {
« no previous file with comments | « no previous file | ash/desktop_background/desktop_background_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698