| Index: ash/common/wm_shell.cc
|
| diff --git a/ash/common/wm_shell.cc b/ash/common/wm_shell.cc
|
| index 4d8381f46915accc5bac999edb7f68a84bcbd6a5..b6a269c8ff7ad15bec13b0a7f39dd634d0d2abca 100644
|
| --- a/ash/common/wm_shell.cc
|
| +++ b/ash/common/wm_shell.cc
|
| @@ -16,6 +16,7 @@
|
| #include "ash/common/shelf/app_list_shelf_item_delegate.h"
|
| #include "ash/common/shelf/shelf_delegate.h"
|
| #include "ash/common/shelf/shelf_model.h"
|
| +#include "ash/common/shelf/shelf_window_watcher.h"
|
| #include "ash/common/shell_delegate.h"
|
| #include "ash/common/shell_window_ids.h"
|
| #include "ash/common/system/brightness_control_delegate.h"
|
| @@ -75,6 +76,8 @@ void WmShell::Initialize() {
|
| void WmShell::Shutdown() {
|
| // Accesses WmShell in its destructor.
|
| 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
|
| // shelf items in Chrome) so explicitly shutdown early.
|
| shelf_model_->DestroyItemDelegates();
|
| @@ -232,6 +235,7 @@ void WmShell::CreateShelfDelegate() {
|
| DCHECK(GetSessionStateDelegate());
|
| DCHECK_GT(GetSessionStateDelegate()->NumberOfLoggedInUsers(), 0);
|
| shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get()));
|
| + shelf_window_watcher_.reset(new ShelfWindowWatcher(shelf_model_.get()));
|
| }
|
|
|
| void WmShell::DeleteWindowCycleController() {
|
|
|