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

Side by Side Diff: ui/aura/window_event_dispatcher.h

Issue 2025843003: Introduce aura::Env controller to abstract away changes to aura::Env Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix extant aura_unnitest failures: Re-introduce custom logic in two places. 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef UI_AURA_WINDOW_EVENT_DISPATCHER_H_ 5 #ifndef UI_AURA_WINDOW_EVENT_DISPATCHER_H_
6 #define UI_AURA_WINDOW_EVENT_DISPATCHER_H_ 6 #define UI_AURA_WINDOW_EVENT_DISPATCHER_H_
7 7
8 #include <stdint.h>
9
10 #include <memory> 8 #include <memory>
11 #include <vector> 9 #include <vector>
12 10
13 #include "base/gtest_prod_util.h" 11 #include "base/gtest_prod_util.h"
14 #include "base/macros.h" 12 #include "base/macros.h"
15 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
16 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
17 #include "base/message_loop/message_loop.h" 15 #include "base/message_loop/message_loop.h"
18 #include "base/scoped_observer.h" 16 #include "base/scoped_observer.h"
19 #include "ui/aura/aura_export.h" 17 #include "ui/aura/aura_export.h"
(...skipping 18 matching lines...) Expand all
38 class GestureEvent; 36 class GestureEvent;
39 class GestureRecognizer; 37 class GestureRecognizer;
40 class KeyEvent; 38 class KeyEvent;
41 class MouseEvent; 39 class MouseEvent;
42 class ScrollEvent; 40 class ScrollEvent;
43 class TouchEvent; 41 class TouchEvent;
44 } 42 }
45 43
46 namespace aura { 44 namespace aura {
47 class TestScreen; 45 class TestScreen;
46 class EnvInputStateController;
48 class WindowTargeter; 47 class WindowTargeter;
49 class WindowTreeHost; 48 class WindowTreeHost;
50 49
51 namespace test { 50 namespace test {
52 class WindowEventDispatcherTestApi; 51 class WindowEventDispatcherTestApi;
53 } 52 }
54 53
55 // WindowEventDispatcher orchestrates event dispatch within a window tree 54 // WindowEventDispatcher orchestrates event dispatch within a window tree
56 // owned by WindowTreeHost. WTH also owns the WED. 55 // owned by WindowTreeHost. WTH also owns the WED.
57 // TODO(beng): In progress, remove functionality not directly related to 56 // TODO(beng): In progress, remove functionality not directly related to
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 238
240 ui::EventDispatchDetails PreDispatchLocatedEvent(Window* target, 239 ui::EventDispatchDetails PreDispatchLocatedEvent(Window* target,
241 ui::LocatedEvent* event); 240 ui::LocatedEvent* event);
242 ui::EventDispatchDetails PreDispatchMouseEvent(Window* target, 241 ui::EventDispatchDetails PreDispatchMouseEvent(Window* target,
243 ui::MouseEvent* event); 242 ui::MouseEvent* event);
244 ui::EventDispatchDetails PreDispatchTouchEvent(Window* target, 243 ui::EventDispatchDetails PreDispatchTouchEvent(Window* target,
245 ui::TouchEvent* event); 244 ui::TouchEvent* event);
246 245
247 WindowTreeHost* host_; 246 WindowTreeHost* host_;
248 247
249 // Touch ids that are currently down.
250 uint32_t touch_ids_down_;
251
252 Window* mouse_pressed_handler_; 248 Window* mouse_pressed_handler_;
253 Window* mouse_moved_handler_; 249 Window* mouse_moved_handler_;
254 Window* event_dispatch_target_; 250 Window* event_dispatch_target_;
255 Window* old_dispatch_target_; 251 Window* old_dispatch_target_;
256 252
257 bool synthesize_mouse_move_; 253 bool synthesize_mouse_move_;
258 254
259 // How many move holds are outstanding. We try to defer dispatching 255 // How many move holds are outstanding. We try to defer dispatching
260 // touch/mouse moves while the count is > 0. 256 // touch/mouse moves while the count is > 0.
261 int move_hold_count_; 257 int move_hold_count_;
262 // The location of |held_move_event_| is in |window_|'s coordinate. 258 // The location of |held_move_event_| is in |window_|'s coordinate.
263 std::unique_ptr<ui::LocatedEvent> held_move_event_; 259 std::unique_ptr<ui::LocatedEvent> held_move_event_;
264 260
265 // Allowing for reposting of events. Used when exiting context menus. 261 // Allowing for reposting of events. Used when exiting context menus.
266 std::unique_ptr<ui::LocatedEvent> held_repostable_event_; 262 std::unique_ptr<ui::LocatedEvent> held_repostable_event_;
267 263
268 // Set when dispatching a held event. 264 // Set when dispatching a held event.
269 ui::LocatedEvent* dispatching_held_event_; 265 ui::LocatedEvent* dispatching_held_event_;
270 266
271 ScopedObserver<aura::Window, aura::WindowObserver> observer_manager_; 267 ScopedObserver<aura::Window, aura::WindowObserver> observer_manager_;
272 268
273 bool transform_events_; 269 bool transform_events_;
274 270
271 std::unique_ptr<EnvInputStateController> env_controller_;
272
275 // Used to schedule reposting an event. 273 // Used to schedule reposting an event.
276 base::WeakPtrFactory<WindowEventDispatcher> repost_event_factory_; 274 base::WeakPtrFactory<WindowEventDispatcher> repost_event_factory_;
277 275
278 // Used to schedule DispatchHeldEvents() when |move_hold_count_| goes to 0. 276 // Used to schedule DispatchHeldEvents() when |move_hold_count_| goes to 0.
279 base::WeakPtrFactory<WindowEventDispatcher> held_event_factory_; 277 base::WeakPtrFactory<WindowEventDispatcher> held_event_factory_;
280 278
281 DISALLOW_COPY_AND_ASSIGN(WindowEventDispatcher); 279 DISALLOW_COPY_AND_ASSIGN(WindowEventDispatcher);
282 }; 280 };
283 281
284 } // namespace aura 282 } // namespace aura
285 283
286 #endif // UI_AURA_WINDOW_EVENT_DISPATCHER_H_ 284 #endif // UI_AURA_WINDOW_EVENT_DISPATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698