| 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 "ash/root_window_controller.h" | 7 #include "ash/root_window_controller.h" |
| 8 #include "ash/shelf/shelf_layout_manager.h" | 8 #include "ash/shelf/shelf_layout_manager.h" |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/shell_window_ids.h" | 10 #include "ash/shell_window_ids.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 // |shelf|. | 35 // |shelf|. |
| 36 bool IsDockedAreaVisible(const ShelfLayoutManager* shelf) { | 36 bool IsDockedAreaVisible(const ShelfLayoutManager* shelf) { |
| 37 return shelf->dock_bounds().width() > 0; | 37 return shelf->dock_bounds().width() > 0; |
| 38 } | 38 } |
| 39 | 39 |
| 40 } // namespace | 40 } // namespace |
| 41 | 41 |
| 42 WorkspaceController::WorkspaceController(aura::Window* viewport) | 42 WorkspaceController::WorkspaceController(aura::Window* viewport) |
| 43 : viewport_(viewport), | 43 : viewport_(viewport), |
| 44 shelf_(NULL), | 44 shelf_(NULL), |
| 45 event_handler_(new WorkspaceEventHandler(viewport_)) { | 45 event_handler_(new WorkspaceEventHandler), |
| 46 layout_manager_(new WorkspaceLayoutManager(viewport)) { |
| 46 SetWindowVisibilityAnimationTransition( | 47 SetWindowVisibilityAnimationTransition( |
| 47 viewport_, views::corewm::ANIMATE_NONE); | 48 viewport_, views::corewm::ANIMATE_NONE); |
| 48 | 49 |
| 49 // The layout-manager cannot be created in the initializer list since it | |
| 50 // depends on the window to have been initialized. | |
| 51 layout_manager_ = new WorkspaceLayoutManager(viewport_); | |
| 52 viewport_->SetLayoutManager(layout_manager_); | 50 viewport_->SetLayoutManager(layout_manager_); |
| 53 | 51 viewport_->AddPreTargetHandler(event_handler_.get()); |
| 54 viewport_->Show(); | 52 viewport_->AddPostTargetHandler(event_handler_.get()); |
| 55 } | 53 } |
| 56 | 54 |
| 57 WorkspaceController::~WorkspaceController() { | 55 WorkspaceController::~WorkspaceController() { |
| 58 viewport_->SetLayoutManager(NULL); | 56 viewport_->SetLayoutManager(NULL); |
| 59 viewport_->SetEventFilter(NULL); | |
| 60 viewport_->RemovePreTargetHandler(event_handler_.get()); | 57 viewport_->RemovePreTargetHandler(event_handler_.get()); |
| 61 viewport_->RemovePostTargetHandler(event_handler_.get()); | 58 viewport_->RemovePostTargetHandler(event_handler_.get()); |
| 62 } | 59 } |
| 63 | 60 |
| 64 WorkspaceWindowState WorkspaceController::GetWindowState() const { | 61 WorkspaceWindowState WorkspaceController::GetWindowState() const { |
| 65 if (!shelf_) | 62 if (!shelf_) |
| 66 return WORKSPACE_WINDOW_STATE_DEFAULT; | 63 return WORKSPACE_WINDOW_STATE_DEFAULT; |
| 67 const aura::Window* topmost_fullscreen_window = GetRootWindowController( | 64 const aura::Window* topmost_fullscreen_window = GetRootWindowController( |
| 68 viewport_->GetRootWindow())->GetWindowForFullscreenMode(); | 65 viewport_->GetRootWindow())->GetWindowForFullscreenMode(); |
| 69 if (topmost_fullscreen_window && | 66 if (topmost_fullscreen_window && |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 settings.SetTweenType(gfx::Tween::EASE_OUT); | 133 settings.SetTweenType(gfx::Tween::EASE_OUT); |
| 137 settings.SetTransitionDuration( | 134 settings.SetTransitionDuration( |
| 138 base::TimeDelta::FromMilliseconds(kCrossFadeDurationMS)); | 135 base::TimeDelta::FromMilliseconds(kCrossFadeDurationMS)); |
| 139 viewport_->layer()->SetTransform(gfx::Transform()); | 136 viewport_->layer()->SetTransform(gfx::Transform()); |
| 140 viewport_->layer()->SetOpacity(1.0f); | 137 viewport_->layer()->SetOpacity(1.0f); |
| 141 } | 138 } |
| 142 } | 139 } |
| 143 | 140 |
| 144 } // namespace internal | 141 } // namespace internal |
| 145 } // namespace ash | 142 } // namespace ash |
| OLD | NEW |