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

Side by Side Diff: services/window_manager/focus_controller_unittest.cc

Issue 788453002: Put code in //services/window_manager in namespace window_manager (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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
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 "services/window_manager/focus_controller.h" 5 #include "services/window_manager/focus_controller.h"
6 6
7 #include "mojo/converters/geometry/geometry_type_converters.h" 7 #include "mojo/converters/geometry/geometry_type_converters.h"
8 #include "services/window_manager/basic_focus_rules.h" 8 #include "services/window_manager/basic_focus_rules.h"
9 #include "services/window_manager/focus_controller_observer.h" 9 #include "services/window_manager/focus_controller_observer.h"
10 #include "services/window_manager/view_event_dispatcher.h" 10 #include "services/window_manager/view_event_dispatcher.h"
11 #include "services/window_manager/view_targeter.h" 11 #include "services/window_manager/view_targeter.h"
12 #include "services/window_manager/window_manager_test_util.h" 12 #include "services/window_manager/window_manager_test_util.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/events/test/event_generator.h" 14 #include "ui/events/test/event_generator.h"
15 #include "ui/gfx/geometry/rect.h" 15 #include "ui/gfx/geometry/rect.h"
16 16
17 namespace mojo { 17 using mojo::View;
18
19 namespace window_manager {
18 20
19 // Counts the number of events that occur. 21 // Counts the number of events that occur.
20 class FocusNotificationObserver : public FocusControllerObserver { 22 class FocusNotificationObserver : public FocusControllerObserver {
21 public: 23 public:
22 FocusNotificationObserver() 24 FocusNotificationObserver()
23 : activation_changed_count_(0), 25 : activation_changed_count_(0),
24 focus_changed_count_(0), 26 focus_changed_count_(0),
25 reactivation_count_(0), 27 reactivation_count_(0),
26 reactivation_requested_view_(NULL), 28 reactivation_requested_view_(NULL),
27 reactivation_actual_view_(NULL) {} 29 reactivation_actual_view_(NULL) {}
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 if (lost_active && lost_active == destroyer_->GetDestroyedView()) 100 if (lost_active && lost_active == destroyer_->GetDestroyedView())
99 was_notified_with_destroyed_view_ = true; 101 was_notified_with_destroyed_view_ = true;
100 } 102 }
101 103
102 void OnViewFocused(View* gained_focus, View* lost_focus) override { 104 void OnViewFocused(View* gained_focus, View* lost_focus) override {
103 if (lost_focus && lost_focus == destroyer_->GetDestroyedView()) 105 if (lost_focus && lost_focus == destroyer_->GetDestroyedView())
104 was_notified_with_destroyed_view_ = true; 106 was_notified_with_destroyed_view_ = true;
105 } 107 }
106 108
107 private: 109 private:
108 mojo::FocusController* focus_controller_; 110 FocusController* focus_controller_;
109 111
110 // Not owned. 112 // Not owned.
111 ViewDestroyer* destroyer_; 113 ViewDestroyer* destroyer_;
112 114
113 // Whether the observer was notified about the loss of activation or the 115 // Whether the observer was notified about the loss of activation or the
114 // loss of focus with a view already destroyed by |destroyer_| as the 116 // loss of focus with a view already destroyed by |destroyer_| as the
115 // |lost_active| or |lost_focus| parameter. 117 // |lost_active| or |lost_focus| parameter.
116 bool was_notified_with_destroyed_view_; 118 bool was_notified_with_destroyed_view_;
117 119
118 DISALLOW_COPY_AND_ASSIGN(RecordingFocusNotificationObserver); 120 DISALLOW_COPY_AND_ASSIGN(RecordingFocusNotificationObserver);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 public: 161 public:
160 ScopedFocusNotificationObserver(FocusController* focus_controller) 162 ScopedFocusNotificationObserver(FocusController* focus_controller)
161 : focus_controller_(focus_controller) { 163 : focus_controller_(focus_controller) {
162 focus_controller_->AddObserver(this); 164 focus_controller_->AddObserver(this);
163 } 165 }
164 ~ScopedFocusNotificationObserver() override { 166 ~ScopedFocusNotificationObserver() override {
165 focus_controller_->RemoveObserver(this); 167 focus_controller_->RemoveObserver(this);
166 } 168 }
167 169
168 private: 170 private:
169 mojo::FocusController* focus_controller_; 171 FocusController* focus_controller_;
170 172
171 DISALLOW_COPY_AND_ASSIGN(ScopedFocusNotificationObserver); 173 DISALLOW_COPY_AND_ASSIGN(ScopedFocusNotificationObserver);
172 }; 174 };
173 175
174 // Only responds to events if a message contains |target| as a parameter. 176 // Only responds to events if a message contains |target| as a parameter.
175 class ScopedFilteringFocusNotificationObserver 177 class ScopedFilteringFocusNotificationObserver
176 : public FocusNotificationObserver { 178 : public FocusNotificationObserver {
177 public: 179 public:
178 ScopedFilteringFocusNotificationObserver(FocusController* focus_controller, 180 ScopedFilteringFocusNotificationObserver(FocusController* focus_controller,
179 View* target) 181 View* target)
(...skipping 17 matching lines...) Expand all
197 } 199 }
198 200
199 void OnAttemptToReactivateView(View* request_active, 201 void OnAttemptToReactivateView(View* request_active,
200 View* actual_active) override { 202 View* actual_active) override {
201 if (request_active == target_ || actual_active == target_) { 203 if (request_active == target_ || actual_active == target_) {
202 FocusNotificationObserver::OnAttemptToReactivateView(request_active, 204 FocusNotificationObserver::OnAttemptToReactivateView(request_active,
203 actual_active); 205 actual_active);
204 } 206 }
205 } 207 }
206 208
207 mojo::FocusController* focus_controller_; 209 FocusController* focus_controller_;
208 View* target_; 210 View* target_;
209 211
210 DISALLOW_COPY_AND_ASSIGN(ScopedFilteringFocusNotificationObserver); 212 DISALLOW_COPY_AND_ASSIGN(ScopedFilteringFocusNotificationObserver);
211 }; 213 };
212 214
213 // Used to fake the handling of events in the pre-target phase. 215 // Used to fake the handling of events in the pre-target phase.
214 class SimpleEventHandler : public ui::EventHandler { 216 class SimpleEventHandler : public ui::EventHandler {
215 public: 217 public:
216 SimpleEventHandler() {} 218 SimpleEventHandler() {}
217 ~SimpleEventHandler() override {} 219 ~SimpleEventHandler() override {}
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 // TODO(erg): Add the capture tests here. 1125 // TODO(erg): Add the capture tests here.
1124 1126
1125 // See description above DontPassDestroyedView() for details. 1127 // See description above DontPassDestroyedView() for details.
1126 FOCUS_CONTROLLER_TEST(FocusControllerApiTest, DontPassDestroyedView); 1128 FOCUS_CONTROLLER_TEST(FocusControllerApiTest, DontPassDestroyedView);
1127 1129
1128 // TODO(erg): Add the TextInputClient tests here. 1130 // TODO(erg): Add the TextInputClient tests here.
1129 1131
1130 // If a mouse event was handled, it should not activate a view. 1132 // If a mouse event was handled, it should not activate a view.
1131 FOCUS_CONTROLLER_TEST(FocusControllerMouseEventTest, IgnoreHandledEvent); 1133 FOCUS_CONTROLLER_TEST(FocusControllerMouseEventTest, IgnoreHandledEvent);
1132 1134
1133 } // namespace mojo 1135 } // namespace window_manager
OLDNEW
« no previous file with comments | « services/window_manager/focus_controller_observer.h ('k') | services/window_manager/focus_rules.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698