| Index: ui/aura/root_window.h
|
| diff --git a/ui/aura/root_window.h b/ui/aura/root_window.h
|
| index 32893ec838d06211871bf36db77231425964f54d..10e11dadc7ca4aea6a425d7a7b4f788993310d4b 100644
|
| --- a/ui/aura/root_window.h
|
| +++ b/ui/aura/root_window.h
|
| @@ -23,6 +23,7 @@
|
| #include "ui/events/event_constants.h"
|
| #include "ui/events/event_processor.h"
|
| #include "ui/events/event_targeter.h"
|
| +#include "ui/events/gestures/gesture_event_queue.h"
|
| #include "ui/events/gestures/gesture_recognizer.h"
|
| #include "ui/events/gestures/gesture_types.h"
|
| #include "ui/gfx/native_widget_types.h"
|
| @@ -56,7 +57,8 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
| public ui::GestureEventHelper,
|
| public ui::LayerAnimationObserver,
|
| public aura::client::CaptureDelegate,
|
| - public aura::RootWindowHostDelegate {
|
| + public aura::RootWindowHostDelegate,
|
| + public ui::GestureEventQueueDelegate {
|
| public:
|
| struct AURA_EXPORT CreateParams {
|
| // CreateParams with initial_bounds and default host in pixel.
|
| @@ -133,7 +135,7 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
| // Handles a gesture event. Returns true if handled. Unlike the other
|
| // event-dispatching function (e.g. for touch/mouse/keyboard events), gesture
|
| // events are dispatched from GestureRecognizer instead of RootWindowHost.
|
| - void DispatchGestureEvent(ui::GestureEvent* event);
|
| + virtual void DispatchGestureEvent(ui::GestureEvent* event) OVERRIDE;
|
|
|
| // Invoked when |window| is being destroyed.
|
| void OnWindowDestroying(Window* window);
|
| @@ -195,6 +197,10 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
| // coordinates. This may return a point outside the root window's bounds.
|
| gfx::Point GetLastMouseLocationInRoot() const;
|
|
|
| + void OnTouchEventForGestures(
|
| + ui::TouchEvent* event,
|
| + ui::TouchPointState::RequiresAck requires_ack);
|
| +
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(RootWindowTest, KeepTranslatedEventInRoot);
|
|
|
| @@ -261,7 +267,6 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
|
|
| // Overridden from ui::GestureEventHelper.
|
| virtual bool CanDispatchToConsumer(ui::GestureConsumer* consumer) OVERRIDE;
|
| - virtual void DispatchPostponedGestureEvent(ui::GestureEvent* event) OVERRIDE;
|
| virtual void DispatchCancelTouchEvent(ui::TouchEvent* event) OVERRIDE;
|
|
|
| // Overridden from ui::LayerAnimationObserver:
|
| @@ -304,7 +309,8 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
| ui::EventDispatchDetails DispatchMouseEventToTarget(ui::MouseEvent* event,
|
| Window* target)
|
| WARN_UNUSED_RESULT;
|
| - ui::EventDispatchDetails DispatchTouchEventImpl(ui::TouchEvent* event)
|
| + ui::EventDispatchDetails DispatchTouchEventImpl(ui::TouchEvent* event,
|
| + Window* target)
|
| WARN_UNUSED_RESULT;
|
| ui::EventDispatchDetails DispatchHeldEvents() WARN_UNUSED_RESULT;
|
| // Creates and dispatches synthesized mouse move event using the
|
| @@ -319,6 +325,8 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
|
|
| void PreDispatchLocatedEvent(Window* target, ui::LocatedEvent* event);
|
|
|
| + Window* GetTouchEventTarget(ui::TouchEvent* event);
|
| +
|
| // TODO(beng): evaluate the ideal ownership model.
|
| scoped_ptr<Window> window_;
|
|
|
| @@ -358,6 +366,8 @@ class AURA_EXPORT RootWindow : public ui::EventProcessor,
|
| // Used to schedule DispatchHeldEvents() when |move_hold_count_| goes to 0.
|
| base::WeakPtrFactory<RootWindow> held_event_factory_;
|
|
|
| + std::map<Window*, ui::GestureEventQueue*> gesture_event_queues_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(RootWindow);
|
| };
|
|
|
|
|