| Index: ui/aura/window_event_dispatcher.h
|
| diff --git a/ui/aura/window_event_dispatcher.h b/ui/aura/window_event_dispatcher.h
|
| index 7ea3d603bd052b713b34cb51640b54f07b420406..9fe917bdf4ea13894c671f611810b90ba7d4b678 100644
|
| --- a/ui/aura/window_event_dispatcher.h
|
| +++ b/ui/aura/window_event_dispatcher.h
|
| @@ -16,7 +16,10 @@
|
| #include "ui/aura/aura_export.h"
|
| #include "ui/aura/client/capture_delegate.h"
|
| #include "ui/aura/window_tree_host.h"
|
| +#include "ui/aura/window_tree_host_delegate.h"
|
| #include "ui/base/cursor/cursor.h"
|
| +#include "ui/compositor/compositor.h"
|
| +#include "ui/compositor/layer_animation_observer.h"
|
| #include "ui/events/event_constants.h"
|
| #include "ui/events/event_processor.h"
|
| #include "ui/events/event_targeter.h"
|
| @@ -34,6 +37,7 @@
|
| class GestureEvent;
|
| class GestureRecognizer;
|
| class KeyEvent;
|
| +class LayerAnimationSequence;
|
| class MouseEvent;
|
| class ScrollEvent;
|
| class TouchEvent;
|
| @@ -50,7 +54,9 @@
|
| // event dispatch.
|
| class AURA_EXPORT WindowEventDispatcher : public ui::EventProcessor,
|
| public ui::GestureEventHelper,
|
| - public client::CaptureDelegate {
|
| + public ui::LayerAnimationObserver,
|
| + public client::CaptureDelegate,
|
| + public WindowTreeHostDelegate {
|
| public:
|
| explicit WindowEventDispatcher(WindowTreeHost* host);
|
| virtual ~WindowEventDispatcher();
|
| @@ -73,10 +79,10 @@
|
| // types (although the latter is currently a no-op).
|
| void RepostEvent(const ui::LocatedEvent& event);
|
|
|
| + WindowTreeHostDelegate* AsWindowTreeHostDelegate();
|
| +
|
| // Invoked when the mouse events get enabled or disabled.
|
| void OnMouseEventsEnableStateChanged(bool enabled);
|
| -
|
| - void DispatchCancelModeEvent();
|
|
|
| // Returns a target window for the given gesture event.
|
| Window* GetGestureTarget(ui::GestureEvent* event);
|
| @@ -133,11 +139,6 @@
|
| // coordinates. This may return a point outside the root window's bounds.
|
| gfx::Point GetLastMouseLocationInRoot() const;
|
|
|
| - void OnHostLostMouseGrab();
|
| - // TODO(beng): replace with a window observer.
|
| - void OnHostResized(const gfx::Size& size);
|
| - void OnCursorMovedToRootLocation(const gfx::Point& root_location);
|
| -
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(WindowEventDispatcherTest,
|
| KeepTranslatedEventInRoot);
|
| @@ -154,7 +155,7 @@
|
| };
|
|
|
| // Updates the event with the appropriate transform for the device scale
|
| - // factor. The WindowEventDispatcher dispatches events in the physical pixel
|
| + // factor. The WindowTreeHostDelegate dispatches events in the physical pixel
|
| // coordinate. But the event processing from WindowEventDispatcher onwards
|
| // happen in device-independent pixel coordinate. So it is necessary to update
|
| // the event received from the host.
|
| @@ -206,6 +207,26 @@
|
| virtual void DispatchPostponedGestureEvent(ui::GestureEvent* event) OVERRIDE;
|
| virtual void DispatchCancelTouchEvent(ui::TouchEvent* event) OVERRIDE;
|
|
|
| + // Overridden from ui::LayerAnimationObserver:
|
| + virtual void OnLayerAnimationEnded(
|
| + ui::LayerAnimationSequence* animation) OVERRIDE;
|
| + virtual void OnLayerAnimationScheduled(
|
| + ui::LayerAnimationSequence* animation) OVERRIDE;
|
| + virtual void OnLayerAnimationAborted(
|
| + ui::LayerAnimationSequence* animation) OVERRIDE;
|
| +
|
| + // Overridden from aura::WindowTreeHostDelegate:
|
| + virtual void OnHostCancelMode() OVERRIDE;
|
| + virtual void OnHostActivated() OVERRIDE;
|
| + virtual void OnHostLostWindowCapture() OVERRIDE;
|
| + virtual void OnHostLostMouseGrab() OVERRIDE;
|
| + virtual void OnHostResized(const gfx::Size& size) OVERRIDE;
|
| + virtual void OnCursorMovedToRootLocation(
|
| + const gfx::Point& root_location) OVERRIDE;
|
| + virtual WindowEventDispatcher* AsDispatcher() OVERRIDE;
|
| + virtual const WindowEventDispatcher* AsDispatcher() const OVERRIDE;
|
| + virtual ui::EventProcessor* GetEventProcessor() OVERRIDE;
|
| +
|
| // We hold and aggregate mouse drags and touch moves as a way of throttling
|
| // resizes when HoldMouseMoves() is called. The following methods are used to
|
| // dispatch held and newly incoming mouse and touch events, typically when an
|
|
|