| 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/common/wm/workspace_controller.h" | 5 #include "ash/common/wm/workspace_controller.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/common/shelf/wm_shelf.h" | 9 #include "ash/common/shelf/wm_shelf.h" |
| 10 #include "ash/common/wm/dock/docked_window_layout_manager.h" | 10 #include "ash/common/wm/dock/docked_window_layout_manager.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 // The duration of the animation that occurs on first login. | 32 // The duration of the animation that occurs on first login. |
| 33 const int kInitialAnimationDurationMS = 200; | 33 const int kInitialAnimationDurationMS = 200; |
| 34 | 34 |
| 35 } // namespace | 35 } // namespace |
| 36 | 36 |
| 37 WorkspaceController::WorkspaceController(WmWindow* viewport) | 37 WorkspaceController::WorkspaceController(WmWindow* viewport) |
| 38 : viewport_(viewport), | 38 : viewport_(viewport), |
| 39 event_handler_(WmShell::Get()->CreateWorkspaceEventHandler(viewport)), | 39 event_handler_(WmShell::Get()->CreateWorkspaceEventHandler(viewport)), |
| 40 layout_manager_(new WorkspaceLayoutManager(viewport)) { | 40 layout_manager_(new WorkspaceLayoutManager(viewport)) { |
| 41 viewport_->AddObserver(this); | 41 viewport_->aura_window()->AddObserver(this); |
| 42 viewport_->SetVisibilityAnimationTransition(::wm::ANIMATE_NONE); | 42 viewport_->SetVisibilityAnimationTransition(::wm::ANIMATE_NONE); |
| 43 viewport_->SetLayoutManager(base::WrapUnique(layout_manager_)); | 43 viewport_->SetLayoutManager(base::WrapUnique(layout_manager_)); |
| 44 } | 44 } |
| 45 | 45 |
| 46 WorkspaceController::~WorkspaceController() { | 46 WorkspaceController::~WorkspaceController() { |
| 47 if (!viewport_) | 47 if (!viewport_) |
| 48 return; | 48 return; |
| 49 | 49 |
| 50 viewport_->RemoveObserver(this); | 50 viewport_->aura_window()->RemoveObserver(this); |
| 51 viewport_->SetLayoutManager(nullptr); | 51 viewport_->SetLayoutManager(nullptr); |
| 52 } | 52 } |
| 53 | 53 |
| 54 wm::WorkspaceWindowState WorkspaceController::GetWindowState() const { | 54 wm::WorkspaceWindowState WorkspaceController::GetWindowState() const { |
| 55 if (!viewport_ || !viewport_->GetRootWindowController()->HasShelf()) | 55 if (!viewport_ || !viewport_->GetRootWindowController()->HasShelf()) |
| 56 return wm::WORKSPACE_WINDOW_STATE_DEFAULT; | 56 return wm::WORKSPACE_WINDOW_STATE_DEFAULT; |
| 57 | 57 |
| 58 const WmWindow* fullscreen = wm::GetWindowForFullscreenMode(viewport_); | 58 const WmWindow* fullscreen = wm::GetWindowForFullscreenMode(viewport_); |
| 59 if (fullscreen && !fullscreen->GetWindowState()->ignored_by_shelf()) | 59 if (fullscreen && !fullscreen->GetWindowState()->ignored_by_shelf()) |
| 60 return wm::WORKSPACE_WINDOW_STATE_FULL_SCREEN; | 60 return wm::WORKSPACE_WINDOW_STATE_FULL_SCREEN; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 layer->SetTransform(gfx::Transform()); | 115 layer->SetTransform(gfx::Transform()); |
| 116 layer->SetOpacity(1.0f); | 116 layer->SetOpacity(1.0f); |
| 117 } | 117 } |
| 118 } | 118 } |
| 119 | 119 |
| 120 void WorkspaceController::SetMaximizeBackdropDelegate( | 120 void WorkspaceController::SetMaximizeBackdropDelegate( |
| 121 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate) { | 121 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate) { |
| 122 layout_manager_->SetMaximizeBackdropDelegate(std::move(delegate)); | 122 layout_manager_->SetMaximizeBackdropDelegate(std::move(delegate)); |
| 123 } | 123 } |
| 124 | 124 |
| 125 void WorkspaceController::OnWindowDestroying(WmWindow* window) { | 125 void WorkspaceController::OnWindowDestroying(aura::Window* window) { |
| 126 DCHECK_EQ(window, viewport_); | 126 DCHECK_EQ(WmWindow::Get(window), viewport_); |
| 127 viewport_->RemoveObserver(this); | 127 viewport_->aura_window()->RemoveObserver(this); |
| 128 viewport_ = nullptr; | 128 viewport_ = nullptr; |
| 129 // Destroy |event_handler_| too as it depends upon |window|. | 129 // Destroy |event_handler_| too as it depends upon |window|. |
| 130 event_handler_.reset(); | 130 event_handler_.reset(); |
| 131 layout_manager_ = nullptr; | 131 layout_manager_ = nullptr; |
| 132 } | 132 } |
| 133 | 133 |
| 134 } // namespace ash | 134 } // namespace ash |
| OLD | NEW |