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

Unified Diff: third_party/WebKit/Source/core/events/PointerEventManager.h

Issue 1670073004: Send node transition events for touch events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/events/PointerEventManager.h
diff --git a/third_party/WebKit/Source/core/events/PointerEventManager.h b/third_party/WebKit/Source/core/events/PointerEventManager.h
index ea851f1b29d581ad7efb15ad4820d0df00c51af3..fe6a9a5dd068ddec0ecbb129ea5b26dd511dd6af 100644
--- a/third_party/WebKit/Source/core/events/PointerEventManager.h
+++ b/third_party/WebKit/Source/core/events/PointerEventManager.h
@@ -26,20 +26,22 @@ namespace blink {
class CORE_EXPORT PointerEventManager {
DISALLOW_NEW();
public:
+ PointerEventManager();
+ ~PointerEventManager();
+ DECLARE_TRACE();
PassRefPtrWillBeRawPtr<PointerEvent> create(const AtomicString& type,
const PlatformMouseEvent&, PassRefPtrWillBeRawPtr<Node> relatedTarget,
PassRefPtrWillBeRawPtr<AbstractView>);
- PassRefPtrWillBeRawPtr<PointerEvent> create(const AtomicString& type,
+ // Returns whether the event is consumed or not
+ bool sendTouchPointerEvent(PassRefPtrWillBeRawPtr<EventTarget>,
const PlatformTouchPoint&, PlatformEvent::Modifiers,
const double width, const double height,
const double clientX, const double clientY);
- PassRefPtrWillBeRawPtr<PointerEvent> createPointerCancel(const PlatformTouchPoint&);
-
- PointerEventManager();
- ~PointerEventManager();
+ void sendTouchCancelPointerEvent(PassRefPtrWillBeRawPtr<EventTarget>,
+ const PlatformTouchPoint&);
// Clear all the existing ids.
void clear();
@@ -60,6 +62,22 @@ private:
MappedId add(const IncomingId);
bool isPrimary(const MappedId) const;
void setIdAndType(PointerEventInit &, const WebPointerProperties &);
+ void sendNodeTransitionEvents(EventTarget* exitedTarget,
+ EventTarget* enteredTarget,
+ PassRefPtrWillBeRawPtr<PointerEvent>);
+
+ PassRefPtrWillBeRawPtr<PointerEvent> create(const AtomicString& type,
+ const PlatformTouchPoint&, PlatformEvent::Modifiers,
+ const double width, const double height,
+ const double clientX, const double clientY);
+ PassRefPtrWillBeRawPtr<PointerEvent> create(
+ PassRefPtrWillBeRawPtr<PointerEvent>,
+ const AtomicString& type,
+ PassRefPtrWillBeRawPtr<EventTarget>);
+ PassRefPtrWillBeRawPtr<PointerEvent> createPointerCancel(
+ const PlatformTouchPoint&);
+ void setNodeUnderPointer(PassRefPtrWillBeRawPtr<PointerEvent>,
+ EventTarget*);
static const MappedId s_invalidId;
static const MappedId s_mouseId;
@@ -69,6 +87,7 @@ private:
HashMap<MappedId, IncomingId, WTF::IntHash<MappedId>, WTF::UnsignedWithZeroKeyHashTraits<MappedId>> m_idReverseMapping;
MappedId m_primaryId[static_cast<int>(WebPointerProperties::PointerType::LastEntry) + 1];
MappedId m_idCount[static_cast<int>(WebPointerProperties::PointerType::LastEntry) + 1];
+ WillBeHeapHashMap<int, RefPtrWillBeMember<EventTarget>> m_nodeUnderPointer;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698