| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "ash/wm/workspace_controller.h" | 5 #include "ash/wm/workspace_controller.h" | 
| 6 | 6 | 
| 7 #include <utility> | 7 #include <utility> | 
| 8 | 8 | 
| 9 #include "ash/aura/wm_window_aura.h" | 9 #include "ash/aura/wm_window_aura.h" | 
| 10 #include "ash/common/shell_window_ids.h" | 10 #include "ash/common/shell_window_ids.h" | 
| 11 #include "ash/common/wm/window_state.h" | 11 #include "ash/common/wm/window_state.h" | 
| 12 #include "ash/common/wm/workspace/workspace_layout_manager.h" | 12 #include "ash/common/wm/workspace/workspace_layout_manager.h" | 
| 13 #include "ash/common/wm/workspace/workspace_layout_manager_backdrop_delegate.h" | 13 #include "ash/common/wm/workspace/workspace_layout_manager_backdrop_delegate.h" | 
| 14 #include "ash/common/wm/workspace/workspace_layout_manager_delegate.h" | 14 #include "ash/common/wm/workspace/workspace_layout_manager_delegate.h" | 
|  | 15 #include "ash/common/wm_shell.h" | 
| 15 #include "ash/root_window_controller.h" | 16 #include "ash/root_window_controller.h" | 
| 16 #include "ash/shelf/shelf_layout_manager.h" | 17 #include "ash/shelf/shelf_layout_manager.h" | 
| 17 #include "ash/shell.h" | 18 #include "ash/shell.h" | 
| 18 #include "ash/wm/window_animations.h" | 19 #include "ash/wm/window_animations.h" | 
| 19 #include "ash/wm/window_state_aura.h" | 20 #include "ash/wm/window_state_aura.h" | 
| 20 #include "ash/wm/window_util.h" | 21 #include "ash/wm/window_util.h" | 
| 21 #include "ash/wm/workspace/workspace_event_handler.h" | 22 #include "ash/wm/workspace/workspace_event_handler.h" | 
| 22 #include "base/memory/ptr_util.h" | 23 #include "base/memory/ptr_util.h" | 
| 23 #include "ui/aura/client/aura_constants.h" | 24 #include "ui/aura/client/aura_constants.h" | 
| 24 #include "ui/aura/window.h" | 25 #include "ui/aura/window.h" | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 51       shelf_(NULL), | 52       shelf_(NULL), | 
| 52       event_handler_(new WorkspaceEventHandler), | 53       event_handler_(new WorkspaceEventHandler), | 
| 53       layout_manager_(new WorkspaceLayoutManager(WmWindowAura::Get(viewport), | 54       layout_manager_(new WorkspaceLayoutManager(WmWindowAura::Get(viewport), | 
| 54                                                  std::move(delegate))) { | 55                                                  std::move(delegate))) { | 
| 55   SetWindowVisibilityAnimationTransition( | 56   SetWindowVisibilityAnimationTransition( | 
| 56       viewport_, ::wm::ANIMATE_NONE); | 57       viewport_, ::wm::ANIMATE_NONE); | 
| 57 | 58 | 
| 58   WmWindowAura::Get(viewport_)->SetLayoutManager( | 59   WmWindowAura::Get(viewport_)->SetLayoutManager( | 
| 59       base::WrapUnique(layout_manager_)); | 60       base::WrapUnique(layout_manager_)); | 
| 60   viewport_->AddPreTargetHandler(event_handler_.get()); | 61   viewport_->AddPreTargetHandler(event_handler_.get()); | 
|  | 62   WmShell::Get()->AddShellObserver(layout_manager_); | 
| 61 } | 63 } | 
| 62 | 64 | 
| 63 WorkspaceController::~WorkspaceController() { | 65 WorkspaceController::~WorkspaceController() { | 
|  | 66   WmShell::Get()->RemoveShellObserver(layout_manager_); | 
|  | 67   viewport_->RemovePreTargetHandler(event_handler_.get()); | 
| 64   viewport_->SetLayoutManager(NULL); | 68   viewport_->SetLayoutManager(NULL); | 
| 65   viewport_->RemovePreTargetHandler(event_handler_.get()); |  | 
| 66 } | 69 } | 
| 67 | 70 | 
| 68 wm::WorkspaceWindowState WorkspaceController::GetWindowState() const { | 71 wm::WorkspaceWindowState WorkspaceController::GetWindowState() const { | 
| 69   if (!shelf_) | 72   if (!shelf_) | 
| 70     return wm::WORKSPACE_WINDOW_STATE_DEFAULT; | 73     return wm::WORKSPACE_WINDOW_STATE_DEFAULT; | 
| 71   const aura::Window* topmost_fullscreen_window = GetRootWindowController( | 74   const aura::Window* topmost_fullscreen_window = GetRootWindowController( | 
| 72       viewport_->GetRootWindow())->GetWindowForFullscreenMode(); | 75       viewport_->GetRootWindow())->GetWindowForFullscreenMode(); | 
| 73   if (topmost_fullscreen_window && | 76   if (topmost_fullscreen_window && | 
| 74       !wm::GetWindowState(topmost_fullscreen_window)->ignored_by_shelf()) { | 77       !wm::GetWindowState(topmost_fullscreen_window)->ignored_by_shelf()) { | 
| 75     return wm::WORKSPACE_WINDOW_STATE_FULL_SCREEN; | 78     return wm::WORKSPACE_WINDOW_STATE_FULL_SCREEN; | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 140     viewport_->layer()->SetOpacity(1.0f); | 143     viewport_->layer()->SetOpacity(1.0f); | 
| 141   } | 144   } | 
| 142 } | 145 } | 
| 143 | 146 | 
| 144 void WorkspaceController::SetMaximizeBackdropDelegate( | 147 void WorkspaceController::SetMaximizeBackdropDelegate( | 
| 145     std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate) { | 148     std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate) { | 
| 146   layout_manager_->SetMaximizeBackdropDelegate(std::move(delegate)); | 149   layout_manager_->SetMaximizeBackdropDelegate(std::move(delegate)); | 
| 147 } | 150 } | 
| 148 | 151 | 
| 149 }  // namespace ash | 152 }  // namespace ash | 
| OLD | NEW | 
|---|