| Index: ash/shell.cc
|
| diff --git a/ash/shell.cc b/ash/shell.cc
|
| index b80c60533086c7a5120c07cbee6be0c18d1e7a2a..ddae9d6270aa10f50b2a4d2cdfe023385385c831 100644
|
| --- a/ash/shell.cc
|
| +++ b/ash/shell.cc
|
| @@ -382,6 +382,14 @@ void Shell::OnCastingSessionStartedOrStopped(bool started) {
|
| #endif
|
| }
|
|
|
| +void Shell::OnOverviewModeStarted() {
|
| + FOR_EACH_OBSERVER(ShellObserver, observers_, OnOverviewModeStarted());
|
| +}
|
| +
|
| +void Shell::OnOverviewModeEnded() {
|
| + FOR_EACH_OBSERVER(ShellObserver, observers_, OnOverviewModeEnded());
|
| +}
|
| +
|
| void Shell::CreateShelf() {
|
| RootWindowControllerList controllers = GetAllRootWindowControllers();
|
| for (RootWindowControllerList::iterator iter = controllers.begin();
|
| @@ -437,6 +445,10 @@ void Shell::EnableMaximizeModeWindowManager(bool enable) {
|
| }
|
| }
|
|
|
| +bool Shell::IsMaximizeModeWindowManagerEnabled() {
|
| + return NULL != maximize_mode_window_manager_.get();
|
| +}
|
| +
|
| void Shell::UpdateShelfVisibility() {
|
| RootWindowControllerList controllers = GetAllRootWindowControllers();
|
| for (RootWindowControllerList::iterator iter = controllers.begin();
|
| @@ -651,6 +663,11 @@ Shell::~Shell() {
|
| // TooltipController is deleted with the Shell so removing its references.
|
| RemovePreTargetHandler(tooltip_controller_.get());
|
|
|
| + // Disable the maximize mode here since it can be destroyed without without
|
| + // side effects, but needs to be destroyed before the root windows and the
|
| + // WorkspaceLayoutManager get destroyed.
|
| + maximize_mode_window_manager_.reset();
|
| +
|
| // AppList needs to be released before shelf layout manager, which is
|
| // destroyed with shelf container in the loop below. However, app list
|
| // container is now on top of shelf container and released after it.
|
|
|