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

Side by Side Diff: ash/common/wm/wm_toplevel_window_event_handler.cc

Issue 2035543004: Shuffles and renames ash/common/wm classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: random changes for chrome tests Created 4 years, 6 months 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
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/common/wm/wm_toplevel_window_event_handler.h" 5 #include "ash/common/wm/wm_toplevel_window_event_handler.h"
6 6
7 #include "ash/common/wm/window_resizer.h" 7 #include "ash/common/wm/window_resizer.h"
8 #include "ash/common/wm/window_state.h" 8 #include "ash/common/wm/window_state.h"
9 #include "ash/common/wm/window_state_observer.h" 9 #include "ash/common/wm/window_state_observer.h"
10 #include "ash/common/wm/wm_event.h" 10 #include "ash/common/wm/wm_event.h"
11 #include "ash/common/wm/wm_globals.h" 11 #include "ash/common/wm_shell.h"
12 #include "ash/common/wm/wm_window.h" 12 #include "ash/common/wm_window.h"
13 #include "ash/common/wm/wm_window_observer.h" 13 #include "ash/common/wm_window_observer.h"
14 #include "ui/base/hit_test.h" 14 #include "ui/base/hit_test.h"
15 #include "ui/events/event.h" 15 #include "ui/events/event.h"
16 16
17 namespace { 17 namespace {
18 const double kMinHorizVelocityForWindowSwipe = 1100; 18 const double kMinHorizVelocityForWindowSwipe = 1100;
19 const double kMinVertVelocityForWindowMinimize = 1000; 19 const double kMinVertVelocityForWindowMinimize = 1000;
20 } 20 }
21 21
22 namespace ash { 22 namespace ash {
23 namespace wm { 23 namespace wm {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 } 59 }
60 60
61 } // namespace 61 } // namespace
62 62
63 // ScopedWindowResizer --------------------------------------------------------- 63 // ScopedWindowResizer ---------------------------------------------------------
64 64
65 // Wraps a WindowResizer and installs an observer on its target window. When 65 // Wraps a WindowResizer and installs an observer on its target window. When
66 // the window is destroyed ResizerWindowDestroyed() is invoked back on the 66 // the window is destroyed ResizerWindowDestroyed() is invoked back on the
67 // WmToplevelWindowEventHandler to clean up. 67 // WmToplevelWindowEventHandler to clean up.
68 class WmToplevelWindowEventHandler::ScopedWindowResizer 68 class WmToplevelWindowEventHandler::ScopedWindowResizer
69 : public wm::WmWindowObserver, 69 : public WmWindowObserver,
70 public wm::WindowStateObserver { 70 public wm::WindowStateObserver {
71 public: 71 public:
72 ScopedWindowResizer(WmToplevelWindowEventHandler* handler, 72 ScopedWindowResizer(WmToplevelWindowEventHandler* handler,
73 std::unique_ptr<WindowResizer> resizer); 73 std::unique_ptr<WindowResizer> resizer);
74 ~ScopedWindowResizer() override; 74 ~ScopedWindowResizer() override;
75 75
76 // Returns true if the drag moves the window and does not resize. 76 // Returns true if the drag moves the window and does not resize.
77 bool IsMove() const; 77 bool IsMove() const;
78 78
79 WindowResizer* resizer() { return resizer_.get(); } 79 WindowResizer* resizer() { return resizer_.get(); }
80 80
81 // WindowObserver overrides: 81 // WindowObserver overrides:
82 void OnWindowDestroying(wm::WmWindow* window) override; 82 void OnWindowDestroying(WmWindow* window) override;
83 83
84 // WindowStateObserver overrides: 84 // WindowStateObserver overrides:
85 void OnPreWindowStateTypeChange(wm::WindowState* window_state, 85 void OnPreWindowStateTypeChange(wm::WindowState* window_state,
86 wm::WindowStateType type) override; 86 wm::WindowStateType type) override;
87 87
88 private: 88 private:
89 WmToplevelWindowEventHandler* handler_; 89 WmToplevelWindowEventHandler* handler_;
90 std::unique_ptr<WindowResizer> resizer_; 90 std::unique_ptr<WindowResizer> resizer_;
91 91
92 // Whether ScopedWindowResizer grabbed capture. 92 // Whether ScopedWindowResizer grabbed capture.
93 bool grabbed_capture_; 93 bool grabbed_capture_;
94 94
95 DISALLOW_COPY_AND_ASSIGN(ScopedWindowResizer); 95 DISALLOW_COPY_AND_ASSIGN(ScopedWindowResizer);
96 }; 96 };
97 97
98 WmToplevelWindowEventHandler::ScopedWindowResizer::ScopedWindowResizer( 98 WmToplevelWindowEventHandler::ScopedWindowResizer::ScopedWindowResizer(
99 WmToplevelWindowEventHandler* handler, 99 WmToplevelWindowEventHandler* handler,
100 std::unique_ptr<WindowResizer> resizer) 100 std::unique_ptr<WindowResizer> resizer)
101 : handler_(handler), resizer_(std::move(resizer)), grabbed_capture_(false) { 101 : handler_(handler), resizer_(std::move(resizer)), grabbed_capture_(false) {
102 wm::WmWindow* target = resizer_->GetTarget(); 102 WmWindow* target = resizer_->GetTarget();
103 target->AddObserver(this); 103 target->AddObserver(this);
104 target->GetWindowState()->AddObserver(this); 104 target->GetWindowState()->AddObserver(this);
105 105
106 if (!target->HasCapture()) { 106 if (!target->HasCapture()) {
107 grabbed_capture_ = true; 107 grabbed_capture_ = true;
108 target->SetCapture(); 108 target->SetCapture();
109 } 109 }
110 } 110 }
111 111
112 WmToplevelWindowEventHandler::ScopedWindowResizer::~ScopedWindowResizer() { 112 WmToplevelWindowEventHandler::ScopedWindowResizer::~ScopedWindowResizer() {
113 wm::WmWindow* target = resizer_->GetTarget(); 113 WmWindow* target = resizer_->GetTarget();
114 target->RemoveObserver(this); 114 target->RemoveObserver(this);
115 target->GetWindowState()->RemoveObserver(this); 115 target->GetWindowState()->RemoveObserver(this);
116 if (grabbed_capture_) 116 if (grabbed_capture_)
117 target->ReleaseCapture(); 117 target->ReleaseCapture();
118 } 118 }
119 119
120 bool WmToplevelWindowEventHandler::ScopedWindowResizer::IsMove() const { 120 bool WmToplevelWindowEventHandler::ScopedWindowResizer::IsMove() const {
121 return resizer_->details().bounds_change == 121 return resizer_->details().bounds_change ==
122 WindowResizer::kBoundsChange_Repositions; 122 WindowResizer::kBoundsChange_Repositions;
123 } 123 }
124 124
125 void WmToplevelWindowEventHandler::ScopedWindowResizer:: 125 void WmToplevelWindowEventHandler::ScopedWindowResizer::
126 OnPreWindowStateTypeChange(wm::WindowState* window_state, 126 OnPreWindowStateTypeChange(wm::WindowState* window_state,
127 wm::WindowStateType old) { 127 wm::WindowStateType old) {
128 handler_->CompleteDrag(DragResult::SUCCESS); 128 handler_->CompleteDrag(DragResult::SUCCESS);
129 } 129 }
130 130
131 void WmToplevelWindowEventHandler::ScopedWindowResizer::OnWindowDestroying( 131 void WmToplevelWindowEventHandler::ScopedWindowResizer::OnWindowDestroying(
132 wm::WmWindow* window) { 132 WmWindow* window) {
133 DCHECK_EQ(resizer_->GetTarget(), window); 133 DCHECK_EQ(resizer_->GetTarget(), window);
134 handler_->ResizerWindowDestroyed(); 134 handler_->ResizerWindowDestroyed();
135 } 135 }
136 136
137 // WmToplevelWindowEventHandler 137 // WmToplevelWindowEventHandler
138 // -------------------------------------------------- 138 // --------------------------------------------------
139 139
140 WmToplevelWindowEventHandler::WmToplevelWindowEventHandler(WmGlobals* globals) 140 WmToplevelWindowEventHandler::WmToplevelWindowEventHandler(WmShell* shell)
141 : globals_(globals), first_finger_hittest_(HTNOWHERE) { 141 : shell_(shell), first_finger_hittest_(HTNOWHERE) {
142 globals_->AddDisplayObserver(this); 142 shell_->AddDisplayObserver(this);
143 } 143 }
144 144
145 WmToplevelWindowEventHandler::~WmToplevelWindowEventHandler() { 145 WmToplevelWindowEventHandler::~WmToplevelWindowEventHandler() {
146 globals_->RemoveDisplayObserver(this); 146 shell_->RemoveDisplayObserver(this);
147 } 147 }
148 148
149 void WmToplevelWindowEventHandler::OnKeyEvent(ui::KeyEvent* event) { 149 void WmToplevelWindowEventHandler::OnKeyEvent(ui::KeyEvent* event) {
150 if (window_resizer_.get() && event->type() == ui::ET_KEY_PRESSED && 150 if (window_resizer_.get() && event->type() == ui::ET_KEY_PRESSED &&
151 event->key_code() == ui::VKEY_ESCAPE) { 151 event->key_code() == ui::VKEY_ESCAPE) {
152 CompleteDrag(DragResult::REVERT); 152 CompleteDrag(DragResult::REVERT);
153 } 153 }
154 } 154 }
155 155
156 void WmToplevelWindowEventHandler::OnMouseEvent(ui::MouseEvent* event, 156 void WmToplevelWindowEventHandler::OnMouseEvent(ui::MouseEvent* event,
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 void WmToplevelWindowEventHandler::ResizerWindowDestroyed() { 540 void WmToplevelWindowEventHandler::ResizerWindowDestroyed() {
541 CompleteDrag(DragResult::WINDOW_DESTROYED); 541 CompleteDrag(DragResult::WINDOW_DESTROYED);
542 } 542 }
543 543
544 void WmToplevelWindowEventHandler::OnDisplayConfigurationChanging() { 544 void WmToplevelWindowEventHandler::OnDisplayConfigurationChanging() {
545 CompleteDrag(DragResult::REVERT); 545 CompleteDrag(DragResult::REVERT);
546 } 546 }
547 547
548 } // namespace wm 548 } // namespace wm
549 } // namespace ash 549 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698