OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PointerEventManager_h | 5 #ifndef PointerEventManager_h |
6 #define PointerEventManager_h | 6 #define PointerEventManager_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/events/PointerEvent.h" | 9 #include "core/events/PointerEvent.h" |
10 #include "core/events/PointerEventFactory.h" | 10 #include "core/events/PointerEventFactory.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 WTF_MAKE_NONCOPYABLE(PointerEventManager); | 27 WTF_MAKE_NONCOPYABLE(PointerEventManager); |
28 | 28 |
29 public: | 29 public: |
30 PointerEventManager(LocalFrame*, MouseEventManager*); | 30 PointerEventManager(LocalFrame*, MouseEventManager*); |
31 DECLARE_TRACE(); | 31 DECLARE_TRACE(); |
32 | 32 |
33 // Sends the mouse pointer events and the boundary events | 33 // Sends the mouse pointer events and the boundary events |
34 // that it may cause. It also sends the compat mouse events | 34 // that it may cause. It also sends the compat mouse events |
35 // and sets the newNodeUnderMouse if the capturing is set | 35 // and sets the newNodeUnderMouse if the capturing is set |
36 // in this function. | 36 // in this function. |
37 WebInputEventResult sendMousePointerEvent(Node* target, | 37 WebInputEventResult sendMousePointerEvent( |
38 const AtomicString& type, | 38 Node* target, |
39 const PlatformMouseEvent&); | 39 const AtomicString& type, |
| 40 const PlatformMouseEvent&, |
| 41 const Vector<PlatformMouseEvent>& coalescedEvents); |
40 | 42 |
41 WebInputEventResult handleTouchEvents(const PlatformTouchEvent&); | 43 WebInputEventResult handleTouchEvents( |
| 44 const PlatformTouchEvent&, |
| 45 const Vector<PlatformTouchEvent>& coalescedEvents); |
42 | 46 |
43 // Sends boundary events pointerout/leave/over/enter and | 47 // Sends boundary events pointerout/leave/over/enter and |
44 // mouseout/leave/over/enter to the corresponding targets. | 48 // mouseout/leave/over/enter to the corresponding targets. |
45 // inside the document. This functions handles the cases that pointer is | 49 // inside the document. This functions handles the cases that pointer is |
46 // leaving a frame. Note that normal mouse events (e.g. mousemove/down/up) | 50 // leaving a frame. Note that normal mouse events (e.g. mousemove/down/up) |
47 // and their corresponding boundary events will be handled altogether by | 51 // and their corresponding boundary events will be handled altogether by |
48 // sendMousePointerEvent function. | 52 // sendMousePointerEvent function. |
49 void sendMouseAndPointerBoundaryEvents(Node* enteredNode, | 53 void sendMouseAndPointerBoundaryEvents(Node* enteredNode, |
50 const PlatformMouseEvent&); | 54 const PlatformMouseEvent&); |
51 | 55 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 // Enables firing of touch-type PointerEvents after they were inhibited by | 139 // Enables firing of touch-type PointerEvents after they were inhibited by |
136 // blockTouchPointers(). | 140 // blockTouchPointers(). |
137 void unblockTouchPointers(); | 141 void unblockTouchPointers(); |
138 | 142 |
139 // Generate the TouchInfos for a PlatformTouchEvent, hit-testing as necessary. | 143 // Generate the TouchInfos for a PlatformTouchEvent, hit-testing as necessary. |
140 void computeTouchTargets(const PlatformTouchEvent&, | 144 void computeTouchTargets(const PlatformTouchEvent&, |
141 HeapVector<TouchEventManager::TouchInfo>&); | 145 HeapVector<TouchEventManager::TouchInfo>&); |
142 | 146 |
143 // Sends touch pointer events and sets consumed bits in TouchInfo array | 147 // Sends touch pointer events and sets consumed bits in TouchInfo array |
144 // based on the return value of pointer event handlers. | 148 // based on the return value of pointer event handlers. |
145 void dispatchTouchPointerEvents(const PlatformTouchEvent&, | 149 void dispatchTouchPointerEvents( |
146 HeapVector<TouchEventManager::TouchInfo>&); | 150 const PlatformTouchEvent&, |
| 151 const Vector<PlatformTouchEvent>& coalescedEvents, |
| 152 HeapVector<TouchEventManager::TouchInfo>&); |
147 | 153 |
148 // Returns whether the event is consumed or not. | 154 // Returns whether the event is consumed or not. |
149 WebInputEventResult sendTouchPointerEvent(EventTarget*, PointerEvent*); | 155 WebInputEventResult sendTouchPointerEvent(EventTarget*, PointerEvent*); |
150 | 156 |
151 void sendBoundaryEvents(EventTarget* exitedTarget, | 157 void sendBoundaryEvents(EventTarget* exitedTarget, |
152 EventTarget* enteredTarget, | 158 EventTarget* enteredTarget, |
153 PointerEvent*); | 159 PointerEvent*); |
154 void setNodeUnderPointer(PointerEvent*, EventTarget*); | 160 void setNodeUnderPointer(PointerEvent*, EventTarget*); |
155 | 161 |
156 // Processes the assignment of |m_pointerCaptureTarget| from | 162 // Processes the assignment of |m_pointerCaptureTarget| from |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 PointerCapturingMap m_pendingPointerCaptureTarget; | 223 PointerCapturingMap m_pendingPointerCaptureTarget; |
218 | 224 |
219 PointerEventFactory m_pointerEventFactory; | 225 PointerEventFactory m_pointerEventFactory; |
220 Member<TouchEventManager> m_touchEventManager; | 226 Member<TouchEventManager> m_touchEventManager; |
221 Member<MouseEventManager> m_mouseEventManager; | 227 Member<MouseEventManager> m_mouseEventManager; |
222 }; | 228 }; |
223 | 229 |
224 } // namespace blink | 230 } // namespace blink |
225 | 231 |
226 #endif // PointerEventManager_h | 232 #endif // PointerEventManager_h |
OLD | NEW |