Index: ash/common/wm_shell.cc |
diff --git a/ash/common/wm_shell.cc b/ash/common/wm_shell.cc |
index c98fa1dbc15e3e32cd1d67fec634d25dd54f3742..3e73becbaab11fd408c019b61c0089c269afc8c7 100644 |
--- a/ash/common/wm_shell.cc |
+++ b/ash/common/wm_shell.cc |
@@ -25,6 +25,7 @@ |
#include "ash/common/system/toast/toast_manager.h" |
#include "ash/common/system/tray/system_tray_delegate.h" |
#include "ash/common/system/tray/system_tray_notifier.h" |
+#include "ash/common/wallpaper/wallpaper_controller.h" |
#include "ash/common/wallpaper/wallpaper_delegate.h" |
#include "ash/common/wm/immersive_context_ash.h" |
#include "ash/common/wm/maximize_mode/maximize_mode_controller.h" |
@@ -76,11 +77,15 @@ void WmShell::Initialize() { |
views::FocusManagerFactory::Install(new AshFocusManagerFactory); |
new_window_delegate_.reset(delegate_->CreateNewWindowDelegate()); |
+ |
+ wallpaper_controller_.reset(new WallpaperController(GetBlockingPool())); |
} |
void WmShell::Shutdown() { |
- // Accesses WmShell in its destructor. |
+ // These members access WmShell in their destructors. |
+ wallpaper_controller_.reset(); |
accessibility_delegate_.reset(); |
+ |
// ShelfWindowWatcher has window observers and a pointer to the shelf model. |
shelf_window_watcher_.reset(); |
// ShelfItemDelegate subclasses it owns have complex cleanup to run (e.g. ARC |