| 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 e5f966518c6191ad464bf263e21d3b1004f1afa5..28a7a0c950a03b178c8eb942e8244d83dfcceb8f 100644
|
| --- a/ash/desktop_background/desktop_background_view.cc
|
| +++ b/ash/desktop_background/desktop_background_view.cc
|
| @@ -10,7 +10,6 @@
|
| #include "ash/desktop_background/desktop_background_controller.h"
|
| #include "ash/shell.h"
|
| #include "ash/shell_window_ids.h"
|
| -#include "ash/wm/root_window_layout_manager.h"
|
| #include "ash/wm/window_animations.h"
|
| #include "base/message_loop.h"
|
| #include "base/utf_string_conversions.h"
|
| @@ -31,8 +30,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) {
|
| }
|
|
|
| @@ -42,11 +43,6 @@ class ShowWallpaperAnimationObserver : public ui::ImplicitAnimationObserver {
|
| private:
|
| // Overridden from ui::ImplicitAnimationObserver:
|
| virtual void OnImplicitAnimationsCompleted() OVERRIDE {
|
| - internal::RootWindowLayoutManager* root_window_layout =
|
| - static_cast<internal::RootWindowLayoutManager*>(
|
| - root_window_->layout_manager());
|
| - root_window_layout->SetBackgroundWidget(desktop_widget_);
|
| -
|
| ash::Shell::GetInstance()->
|
| user_wallpaper_delegate()->OnWallpaperAnimationFinished();
|
|
|
| @@ -54,6 +50,7 @@ class ShowWallpaperAnimationObserver : public ui::ImplicitAnimationObserver {
|
| }
|
|
|
| aura::RootWindow* root_window_;
|
| + int container_id_;
|
| views::Widget* desktop_widget_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ShowWallpaperAnimationObserver);
|
| @@ -138,7 +135,8 @@ void DesktopBackgroundView::ShowContextMenuForView(views::View* source,
|
| Shell::GetInstance()->ShowBackgroundMenu(GetWidget(), point);
|
| }
|
|
|
| -void CreateDesktopBackground(aura::RootWindow* root_window) {
|
| +views::Widget* 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 +146,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::WindowVisibilityAnimationType animation_type =
|
| @@ -163,9 +160,11 @@ void CreateDesktopBackground(aura::RootWindow* root_window) {
|
| desktop_widget->GetNativeView()->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");
|
| + return desktop_widget;
|
| }
|
|
|
| } // namespace internal
|
|
|