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 f6e6dfcb1c303b149dc36f7fad9ed63c29ee363b..380c6599c5abaf5930125d067018b3127a98ad8a 100644 |
--- a/ash/desktop_background/desktop_background_controller.cc |
+++ b/ash/desktop_background/desktop_background_controller.cc |
@@ -85,13 +85,10 @@ class DesktopBackgroundController::WallpaperOperation |
DISALLOW_COPY_AND_ASSIGN(WallpaperOperation); |
}; |
-DesktopBackgroundController::DesktopBackgroundController( |
- aura::RootWindow* root_window) |
- : root_window_(root_window), |
- desktop_background_mode_(BACKGROUND_IMAGE), |
+DesktopBackgroundController::DesktopBackgroundController() |
+ : desktop_background_mode_(BACKGROUND_IMAGE), |
previous_index_(-1), |
weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
- DCHECK(root_window_); |
} |
DesktopBackgroundController::~DesktopBackgroundController() { |
@@ -127,8 +124,9 @@ void DesktopBackgroundController::SetDefaultWallpaper(int index) { |
void DesktopBackgroundController::SetCustomWallpaper( |
const gfx::ImageSkia& wallpaper, |
WallpaperLayout layout) { |
- GetRootWindowLayoutManager(root_window_)->SetBackgroundLayer(NULL); |
- internal::CreateDesktopBackground(wallpaper, layout, root_window_); |
+ aura::RootWindow* root_window = Shell::GetPrimaryRootWindow(); |
+ GetRootWindowLayoutManager(root_window)->SetBackgroundLayer(NULL); |
+ internal::CreateDesktopBackground(wallpaper, layout, root_window); |
desktop_background_mode_ = BACKGROUND_IMAGE; |
} |
@@ -149,21 +147,24 @@ void DesktopBackgroundController::SetDesktopBackgroundSolidColorMode( |
// http://crbug.com/113445 |
ui::Layer* background_layer = new ui::Layer(ui::LAYER_SOLID_COLOR); |
background_layer->SetColor(color); |
- root_window_->GetChildById( |
+ aura::RootWindow* root_window = Shell::GetPrimaryRootWindow(); |
+ Shell::GetContainer( |
+ root_window, |
internal::kShellWindowId_DesktopBackgroundContainer)-> |
layer()->Add(background_layer); |
- GetRootWindowLayoutManager(root_window_)->SetBackgroundLayer( |
+ GetRootWindowLayoutManager(root_window)->SetBackgroundLayer( |
background_layer); |
- GetRootWindowLayoutManager(root_window_)->SetBackgroundWidget(NULL); |
+ GetRootWindowLayoutManager(root_window)->SetBackgroundWidget(NULL); |
desktop_background_mode_ = BACKGROUND_SOLID_COLOR; |
} |
void DesktopBackgroundController::SetDesktopBackgroundImageMode( |
scoped_refptr<WallpaperOperation> wo) { |
- GetRootWindowLayoutManager(root_window_)->SetBackgroundLayer(NULL); |
- if(wo->wallpaper()) { |
+ aura::RootWindow* root_window = Shell::GetPrimaryRootWindow(); |
+ GetRootWindowLayoutManager(root_window)->SetBackgroundLayer(NULL); |
+ if (wo->wallpaper()) { |
internal::CreateDesktopBackground( |
- *wo->wallpaper(), wo->wallpaper_layout(), root_window_); |
+ *wo->wallpaper(), wo->wallpaper_layout(), root_window); |
desktop_background_mode_ = BACKGROUND_IMAGE; |
} |
} |
@@ -179,7 +180,8 @@ void DesktopBackgroundController::OnWallpaperLoadCompleted( |
void DesktopBackgroundController::CreateEmptyWallpaper() { |
gfx::ImageSkia dummy; |
- internal::CreateDesktopBackground(dummy, CENTER, root_window_); |
+ internal::CreateDesktopBackground( |
+ dummy, CENTER, Shell::GetPrimaryRootWindow()); |
desktop_background_mode_ = BACKGROUND_IMAGE; |
} |