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

Side by Side Diff: Source/core/page/EventHandler.h

Issue 1144313003: Added PointerEvent firing on touch events. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed primary pointer id on reuse, for each type of Pointers. Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 10 matching lines...) Expand all
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #ifndef EventHandler_h 26 #ifndef EventHandler_h
27 #define EventHandler_h 27 #define EventHandler_h
28 28
29 #include "core/CoreExport.h" 29 #include "core/CoreExport.h"
30 #include "core/editing/TextGranularity.h" 30 #include "core/editing/TextGranularity.h"
31 #include "core/events/PointerEventUtils.h"
31 #include "core/events/TextEventInputType.h" 32 #include "core/events/TextEventInputType.h"
32 #include "core/layout/HitTestRequest.h" 33 #include "core/layout/HitTestRequest.h"
33 #include "core/style/ComputedStyleConstants.h" 34 #include "core/style/ComputedStyleConstants.h"
34 #include "core/page/DragActions.h" 35 #include "core/page/DragActions.h"
35 #include "core/page/EventWithHitTestResults.h" 36 #include "core/page/EventWithHitTestResults.h"
36 #include "platform/Cursor.h" 37 #include "platform/Cursor.h"
37 #include "platform/PlatformMouseEvent.h" 38 #include "platform/PlatformMouseEvent.h"
39 #include "platform/PlatformTouchPoint.h"
38 #include "platform/Timer.h" 40 #include "platform/Timer.h"
39 #include "platform/UserGestureIndicator.h" 41 #include "platform/UserGestureIndicator.h"
40 #include "platform/geometry/LayoutPoint.h" 42 #include "platform/geometry/LayoutPoint.h"
41 #include "platform/heap/Handle.h" 43 #include "platform/heap/Handle.h"
42 #include "platform/scroll/ScrollTypes.h" 44 #include "platform/scroll/ScrollTypes.h"
43 #include "public/platform/WebFocusType.h" 45 #include "public/platform/WebFocusType.h"
44 #include "wtf/Forward.h" 46 #include "wtf/Forward.h"
45 #include "wtf/HashMap.h" 47 #include "wtf/HashMap.h"
46 #include "wtf/HashTraits.h" 48 #include "wtf/HashTraits.h"
47 #include "wtf/RefPtr.h" 49 #include "wtf/RefPtr.h"
(...skipping 10 matching lines...) Expand all
58 class Event; 60 class Event;
59 class EventTarget; 61 class EventTarget;
60 template <typename EventType> 62 template <typename EventType>
61 class EventWithHitTestResults; 63 class EventWithHitTestResults;
62 class FloatPoint; 64 class FloatPoint;
63 class FloatQuad; 65 class FloatQuad;
64 class HTMLFrameSetElement; 66 class HTMLFrameSetElement;
65 class HitTestRequest; 67 class HitTestRequest;
66 class HitTestResult; 68 class HitTestResult;
67 class KeyboardEvent; 69 class KeyboardEvent;
70 class LayoutObject;
68 class LocalFrame; 71 class LocalFrame;
69 class Node; 72 class Node;
70 class OptionalCursor; 73 class OptionalCursor;
71 class PlatformGestureEvent; 74 class PlatformGestureEvent;
72 class PlatformKeyboardEvent; 75 class PlatformKeyboardEvent;
73 class PlatformTouchEvent; 76 class PlatformTouchEvent;
74 class PlatformWheelEvent; 77 class PlatformWheelEvent;
75 class LayoutObject;
76 class ScrollableArea; 78 class ScrollableArea;
77 class Scrollbar; 79 class Scrollbar;
78 class ScrollState; 80 class ScrollState;
79 class TextEvent; 81 class TextEvent;
80 class VisibleSelection; 82 class VisibleSelection;
81 class WheelEvent; 83 class WheelEvent;
82 class Widget; 84 class Widget;
83 85
84 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili ngWhitespace }; 86 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili ngWhitespace };
85 enum class DragInitiator; 87 enum class DragInitiator;
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 AutoscrollController* autoscrollController() const; 324 AutoscrollController* autoscrollController() const;
323 bool panScrollInProgress() const; 325 bool panScrollInProgress() const;
324 void setLastKnownMousePosition(const PlatformMouseEvent&); 326 void setLastKnownMousePosition(const PlatformMouseEvent&);
325 327
326 bool shouldTopControlsConsumeScroll(FloatSize) const; 328 bool shouldTopControlsConsumeScroll(FloatSize) const;
327 329
328 // If the given element is a shadow host with tabStop = false, slide focus t o its inner 330 // If the given element is a shadow host with tabStop = false, slide focus t o its inner
329 // element. Returns true if the resulting focus is different from the given element. 331 // element. Returns true if the resulting focus is different from the given element.
330 bool slideFocusOnShadowHostIfNecessary(const Element&); 332 bool slideFocusOnShadowHostIfNecessary(const Element&);
331 333
334 using TouchInfo = struct {
335 EventTarget* touchTarget;
336 LocalFrame* targetFrame;
337 FloatPoint adjustedPagePoint;
338 FloatSize adjustedRadius;
339 bool knownTarget;
340 bool consumed;
341 };
342
343 void handlePointerEventsFromTouchEvent(const PlatformTouchEvent&, const Vect or<PlatformTouchPoint>&, Vector<TouchInfo>&);
344
332 // NOTE: If adding a new field to this class please ensure that it is 345 // NOTE: If adding a new field to this class please ensure that it is
333 // cleared in |EventHandler::clear()|. 346 // cleared in |EventHandler::clear()|.
334 347
335 LocalFrame* const m_frame; 348 LocalFrame* const m_frame;
336 349
337 bool m_mousePressed; 350 bool m_mousePressed;
338 bool m_capturesDragging; 351 bool m_capturesDragging;
339 RefPtrWillBeMember<Node> m_mousePressNode; 352 RefPtrWillBeMember<Node> m_mousePressNode;
340 353
341 bool m_mouseDownMayStartSelect; 354 bool m_mouseDownMayStartSelect;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 // The target of each active touch point indexed by the touch ID. 408 // The target of each active touch point indexed by the touch ID.
396 using TouchTargetMap = WillBeHeapHashMap<unsigned, RefPtrWillBeMember<EventT arget>, DefaultHash<unsigned>::Hash, WTF::UnsignedWithZeroKeyHashTraits<unsigned >>; 409 using TouchTargetMap = WillBeHeapHashMap<unsigned, RefPtrWillBeMember<EventT arget>, DefaultHash<unsigned>::Hash, WTF::UnsignedWithZeroKeyHashTraits<unsigned >>;
397 TouchTargetMap m_targetForTouchID; 410 TouchTargetMap m_targetForTouchID;
398 411
399 // If set, the document of the active touch sequence. Unset if no touch sequ ence active. 412 // If set, the document of the active touch sequence. Unset if no touch sequ ence active.
400 RefPtrWillBeMember<Document> m_touchSequenceDocument; 413 RefPtrWillBeMember<Document> m_touchSequenceDocument;
401 RefPtr<UserGestureToken> m_touchSequenceUserGestureToken; 414 RefPtr<UserGestureToken> m_touchSequenceUserGestureToken;
402 415
403 bool m_touchPressed; 416 bool m_touchPressed;
404 417
418 PointerIdManager m_pointerIdManager;
419
405 RefPtrWillBeMember<Node> m_scrollGestureHandlingNode; 420 RefPtrWillBeMember<Node> m_scrollGestureHandlingNode;
406 bool m_lastGestureScrollOverWidget; 421 bool m_lastGestureScrollOverWidget;
407 // The most recent element to scroll natively during this scroll 422 // The most recent element to scroll natively during this scroll
408 // sequence. Null if no native element has scrolled this scroll 423 // sequence. Null if no native element has scrolled this scroll
409 // sequence, or if the most recent element to scroll used scroll 424 // sequence, or if the most recent element to scroll used scroll
410 // customization. 425 // customization.
411 RefPtrWillBeMember<Node> m_previousGestureScrolledNode; 426 RefPtrWillBeMember<Node> m_previousGestureScrolledNode;
412 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture; 427 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture;
413 428
414 double m_maxMouseMovedDuration; 429 double m_maxMouseMovedDuration;
(...skipping 10 matching lines...) Expand all
425 // scroll sequence in this frame, or any child frames. Only used 440 // scroll sequence in this frame, or any child frames. Only used
426 // with ScrollCustomization. If some delta has been consumed, a 441 // with ScrollCustomization. If some delta has been consumed, a
427 // scroll which shouldn't propagate can't cause any element to 442 // scroll which shouldn't propagate can't cause any element to
428 // scroll other than the |m_previousGestureScrolledNode|. 443 // scroll other than the |m_previousGestureScrolledNode|.
429 bool m_deltaConsumedForScrollSequence; 444 bool m_deltaConsumedForScrollSequence;
430 }; 445 };
431 446
432 } // namespace blink 447 } // namespace blink
433 448
434 #endif // EventHandler_h 449 #endif // EventHandler_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698