| 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 fab3b691aad9858ae8738780fb58dd279d62534c..5e2d4ceab5e418ab2a1d89a0a47ecf87065a5868 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/EventHandlingUtil.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();
|
|
|
| @@ -102,6 +104,28 @@ private:
|
| , hasRecievedOverEvent(hasRecievedOverEvent) {}
|
| };
|
|
|
| + class PointerEventBoundaryEventDispatcher : public EventHandlingUtil::BoundaryEventDispatcher {
|
| + WTF_MAKE_NONCOPYABLE(PointerEventBoundaryEventDispatcher);
|
| + DISALLOW_NEW();
|
| +
|
| + public:
|
| + DEFINE_INLINE_TRACE()
|
| + {
|
| + visitor->trace(m_pointerEvent);
|
| + EventHandlingUtil::BoundaryEventDispatcher::trace(visitor);
|
| + }
|
| + PointerEventBoundaryEventDispatcher(PointerEventManager*, PointerEvent*);
|
| + void dispatchOut(EventTarget*, EventTarget* relatedTarget);
|
| + void dispatchOver(EventTarget*, EventTarget* relatedTarget);
|
| + void dispatchLeave(EventTarget*, EventTarget* relatedTarget, bool checkForListener);
|
| + void dispatchEnter(EventTarget*, EventTarget* relatedTarget, bool checkForListener);
|
| +
|
| + private:
|
| + void dispatch(EventTarget*, EventTarget* relatedTarget, const AtomicString&, bool checkForListener);
|
| + PointerEventManager* m_pointerEventManager;
|
| + 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
|
| @@ -122,9 +146,7 @@ private:
|
| void sendBoundaryEvents(
|
| EventTarget* exitedTarget,
|
| EventTarget* enteredTarget,
|
| - PointerEvent*,
|
| - const PlatformMouseEvent& = PlatformMouseEvent(),
|
| - bool sendMouseEvent = false);
|
| + PointerEvent*);
|
| void setNodeUnderPointer(PointerEvent*,
|
| EventTarget*);
|
|
|
| @@ -191,6 +213,7 @@ private:
|
|
|
| PointerEventFactory m_pointerEventFactory;
|
| TouchEventManager m_touchEventManager;
|
| + MouseEventManager* m_mouseEventManager;
|
| };
|
|
|
| } // namespace blink
|
|
|