Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: ash/wm/workspace_controller.cc

Issue 114643003: Use a single ToplevelWindowEventHandler for the ash::Shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 27 matching lines...) Expand all
38 !wm::GetWindowState(window)->IsMinimized() && 38 !wm::GetWindowState(window)->IsMinimized() &&
39 window->type() != aura::client::WINDOW_TYPE_POPUP && 39 window->type() != aura::client::WINDOW_TYPE_POPUP &&
40 !window->transient_parent()); 40 !window->transient_parent());
41 } 41 }
42 42
43 } // namespace 43 } // namespace
44 44
45 WorkspaceController::WorkspaceController(aura::Window* viewport) 45 WorkspaceController::WorkspaceController(aura::Window* viewport)
46 : viewport_(viewport), 46 : viewport_(viewport),
47 shelf_(NULL), 47 shelf_(NULL),
48 event_handler_(new WorkspaceEventHandler(viewport_)) { 48 event_handler_(new WorkspaceEventHandler),
49 layout_manager_(new WorkspaceLayoutManager(viewport)) {
49 SetWindowVisibilityAnimationTransition( 50 SetWindowVisibilityAnimationTransition(
50 viewport_, views::corewm::ANIMATE_NONE); 51 viewport_, views::corewm::ANIMATE_NONE);
51 52
52 // The layout-manager cannot be created in the initializer list since it
53 // depends on the window to have been initialized.
54 layout_manager_ = new WorkspaceLayoutManager(viewport_);
55 viewport_->SetLayoutManager(layout_manager_); 53 viewport_->SetLayoutManager(layout_manager_);
56 54 viewport_->AddPreTargetHandler(event_handler_.get());
57 viewport_->Show(); 55 viewport_->AddPostTargetHandler(event_handler_.get());
58 } 56 }
59 57
60 WorkspaceController::~WorkspaceController() { 58 WorkspaceController::~WorkspaceController() {
61 viewport_->SetLayoutManager(NULL); 59 viewport_->SetLayoutManager(NULL);
62 viewport_->SetEventFilter(NULL);
63 viewport_->RemovePreTargetHandler(event_handler_.get()); 60 viewport_->RemovePreTargetHandler(event_handler_.get());
64 viewport_->RemovePostTargetHandler(event_handler_.get()); 61 viewport_->RemovePostTargetHandler(event_handler_.get());
65 } 62 }
66 63
67 WorkspaceWindowState WorkspaceController::GetWindowState() const { 64 WorkspaceWindowState WorkspaceController::GetWindowState() const {
68 if (!shelf_) 65 if (!shelf_)
69 return WORKSPACE_WINDOW_STATE_DEFAULT; 66 return WORKSPACE_WINDOW_STATE_DEFAULT;
70 const aura::Window* topmost_fullscreen_window = GetRootWindowController( 67 const aura::Window* topmost_fullscreen_window = GetRootWindowController(
71 viewport_->GetRootWindow())->GetWindowForFullscreenMode(); 68 viewport_->GetRootWindow())->GetWindowForFullscreenMode();
72 if (topmost_fullscreen_window && 69 if (topmost_fullscreen_window &&
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 settings.SetTweenType(gfx::Tween::EASE_OUT); 137 settings.SetTweenType(gfx::Tween::EASE_OUT);
141 settings.SetTransitionDuration( 138 settings.SetTransitionDuration(
142 base::TimeDelta::FromMilliseconds(kCrossFadeDurationMS)); 139 base::TimeDelta::FromMilliseconds(kCrossFadeDurationMS));
143 viewport_->layer()->SetTransform(gfx::Transform()); 140 viewport_->layer()->SetTransform(gfx::Transform());
144 viewport_->layer()->SetOpacity(1.0f); 141 viewport_->layer()->SetOpacity(1.0f);
145 } 142 }
146 } 143 }
147 144
148 } // namespace internal 145 } // namespace internal
149 } // namespace ash 146 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698