Index: ash/desktop_background/desktop_background_view.cc |
diff --git a/ash/desktop_background/desktop_background_view.cc b/ash/desktop_background/desktop_background_view.cc |
index 1448a21525ef3a0dcef7d8faae23a1c1cf367e79..65a5b601e2d158d763de5f70d9f3dd9fbb5b118b 100644 |
--- a/ash/desktop_background/desktop_background_view.cc |
+++ b/ash/desktop_background/desktop_background_view.cc |
@@ -31,8 +31,10 @@ namespace { |
class ShowWallpaperAnimationObserver : public ui::ImplicitAnimationObserver { |
public: |
ShowWallpaperAnimationObserver(aura::RootWindow* root_window, |
+ int container_id, |
views::Widget* desktop_widget) |
: root_window_(root_window), |
+ container_id_(container_id), |
desktop_widget_(desktop_widget) { |
} |
@@ -45,7 +47,7 @@ class ShowWallpaperAnimationObserver : public ui::ImplicitAnimationObserver { |
internal::RootWindowLayoutManager* root_window_layout = |
static_cast<internal::RootWindowLayoutManager*>( |
root_window_->layout_manager()); |
- root_window_layout->SetBackgroundWidget(desktop_widget_); |
+ root_window_layout->SetBackgroundWidget(desktop_widget_, container_id_); |
ash::Shell::GetInstance()-> |
user_wallpaper_delegate()->OnWallpaperAnimationFinished(); |
@@ -54,6 +56,7 @@ class ShowWallpaperAnimationObserver : public ui::ImplicitAnimationObserver { |
} |
aura::RootWindow* root_window_; |
+ int container_id_; |
views::Widget* desktop_widget_; |
DISALLOW_COPY_AND_ASSIGN(ShowWallpaperAnimationObserver); |
@@ -138,7 +141,7 @@ void DesktopBackgroundView::ShowContextMenuForView(views::View* source, |
Shell::GetInstance()->ShowBackgroundMenu(GetWidget(), point); |
} |
-void CreateDesktopBackground(aura::RootWindow* root_window) { |
+void CreateDesktopBackground(aura::RootWindow* root_window, int container_id) { |
DesktopBackgroundController* controller = ash::Shell::GetInstance()-> |
desktop_background_controller(); |
views::Widget* desktop_widget = new views::Widget; |
@@ -148,8 +151,7 @@ void CreateDesktopBackground(aura::RootWindow* root_window) { |
params.delegate = view; |
if (controller->GetWallpaper().empty()) |
params.transparent = true; |
- params.parent = root_window->GetChildById( |
- ash::internal::kShellWindowId_DesktopBackgroundContainer); |
+ params.parent = root_window->GetChildById(container_id); |
desktop_widget->Init(params); |
desktop_widget->SetContentsView(view); |
ash::SetWindowVisibilityAnimationType( |
@@ -163,6 +165,7 @@ void CreateDesktopBackground(aura::RootWindow* root_window) { |
layer()->GetAnimator()); |
settings.SetPreemptionStrategy(ui::LayerAnimator::ENQUEUE_NEW_ANIMATION); |
settings.AddObserver(new ShowWallpaperAnimationObserver(root_window, |
+ container_id, |
desktop_widget)); |
desktop_widget->Show(); |
desktop_widget->GetNativeView()->SetName("DesktopBackgroundView"); |