Chromium Code Reviews| Index: third_party/WebKit/Source/core/input/PointerEventManager.h |
| diff --git a/third_party/WebKit/Source/core/input/PointerEventManager.h b/third_party/WebKit/Source/core/input/PointerEventManager.h |
| index 6289aa0830c26f0d190c823978f6a5f3d5286441..f8258810bd2a37571635ff8ba354384061e19cfb 100644 |
| --- a/third_party/WebKit/Source/core/input/PointerEventManager.h |
| +++ b/third_party/WebKit/Source/core/input/PointerEventManager.h |
| @@ -8,6 +8,7 @@ |
| #include "core/CoreExport.h" |
| #include "core/events/PointerEvent.h" |
| #include "core/events/PointerEventFactory.h" |
| +#include "core/input/BoundaryEventDispatcher.h" |
| #include "core/input/TouchEventManager.h" |
| #include "public/platform/WebInputEventResult.h" |
| #include "public/platform/WebPointerProperties.h" |
| @@ -17,6 +18,7 @@ |
| namespace blink { |
| class LocalFrame; |
| +class MouseEventManager; |
| // This class takes care of dispatching all pointer events and keeps track of |
| // properties of active pointer events. |
| @@ -24,7 +26,7 @@ class CORE_EXPORT PointerEventManager { |
| WTF_MAKE_NONCOPYABLE(PointerEventManager); |
| DISALLOW_NEW(); |
| public: |
| - explicit PointerEventManager(LocalFrame*); |
| + explicit PointerEventManager(LocalFrame*, MouseEventManager*); |
| ~PointerEventManager(); |
| DECLARE_TRACE(); |
| @@ -106,6 +108,32 @@ private: |
| , hasRecievedOverEvent(hasRecievedOverEvent) {} |
| }; |
| + class PointerEventBoundaryEventDispatcher : public BoundaryEventDispatcher { |
| + WTF_MAKE_NONCOPYABLE(PointerEventBoundaryEventDispatcher); |
| + DISALLOW_NEW(); |
|
haraken
2016/09/01 17:21:58
Can we move this to BoundaryEventDispatcher?
Also
Navid Zolghadr
2016/09/01 19:31:54
Done.
|
| + |
| + public: |
| + DEFINE_INLINE_TRACE() |
| + { |
| + visitor->trace(m_pointerEvent); |
| + BoundaryEventDispatcher::trace(visitor); |
| + } |
| + PointerEventBoundaryEventDispatcher(PointerEventManager*, PointerEvent*); |
| + |
| + protected: |
| + void dispatchOut(EventTarget*, EventTarget* relatedTarget) override; |
| + void dispatchOver(EventTarget*, EventTarget* relatedTarget) override; |
| + void dispatchLeave(EventTarget*, EventTarget* relatedTarget, bool checkForListener) override; |
| + void dispatchEnter(EventTarget*, EventTarget* relatedTarget, bool checkForListener) override; |
| + AtomicString getLeaveEvent() override; |
| + AtomicString getEnterEvent() override; |
| + |
| + private: |
| + void dispatch(EventTarget*, EventTarget* relatedTarget, const AtomicString&, bool checkForListener); |
| + PointerEventManager* m_pointerEventManager; |
|
haraken
2016/09/01 17:21:59
Ditto. I'd prefer making PointerEventManager Garba
Navid Zolghadr
2016/09/01 19:31:54
Done.
|
| + Member<PointerEvent> m_pointerEvent; |
| + }; |
| + |
| // Inhibits firing of touch-type PointerEvents until unblocked by unblockTouchPointers(). Also |
| // sends pointercancels for existing touch-type PointerEvents. |
| // See: www.w3.org/TR/pointerevents/#declaring-candidate-regions-for-default-touch-behaviors |
| @@ -126,9 +154,7 @@ private: |
| void sendBoundaryEvents( |
| EventTarget* exitedTarget, |
| EventTarget* enteredTarget, |
| - PointerEvent*, |
| - const PlatformMouseEvent& = PlatformMouseEvent(), |
| - bool sendMouseEvent = false); |
| + PointerEvent*); |
| void setNodeUnderPointer(PointerEvent*, |
| EventTarget*); |
| @@ -195,6 +221,7 @@ private: |
| PointerEventFactory m_pointerEventFactory; |
| TouchEventManager m_touchEventManager; |
| + MouseEventManager* m_mouseEventManager; |
| }; |
| } // namespace blink |