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

Side by Side Diff: Source/core/events/MouseEvent.h

Issue 453493002: Improve detection of touch events when hiding media controls. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@autoHideControls
Patch Set: Revert Patch Set 8 Created 6 years, 3 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) 2001 Peter Kelly (pmk@post.com) 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details. 15 * Library General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Library General Public License 17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to 18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA. 20 * Boston, MA 02110-1301, USA.
21 * 21 *
22 */ 22 */
23 23
24 #ifndef MouseEvent_h 24 #ifndef MouseEvent_h
25 #define MouseEvent_h 25 #define MouseEvent_h
26 26
27 #include "core/events/EventDispatchMediator.h" 27 #include "core/events/EventDispatchMediator.h"
28 #include "core/events/MouseRelatedEvent.h" 28 #include "core/events/MouseRelatedEvent.h"
29 #include "platform/PlatformMouseEvent.h"
29 30
30 namespace blink { 31 namespace blink {
31 32
32 class DataTransfer; 33 class DataTransfer;
33 class EventDispatcher; 34 class EventDispatcher;
34 class PlatformMouseEvent;
35 35
36 struct MouseEventInit : public UIEventInit { 36 struct MouseEventInit : public UIEventInit {
37 MouseEventInit(); 37 MouseEventInit();
38 38
39 int screenX; 39 int screenX;
40 int screenY; 40 int screenY;
41 int clientX; 41 int clientX;
42 int clientY; 42 int clientY;
43 bool ctrlKey; 43 bool ctrlKey;
44 bool altKey; 44 bool altKey;
45 bool shiftKey; 45 bool shiftKey;
46 bool metaKey; 46 bool metaKey;
47 unsigned short button; 47 unsigned short button;
48 RefPtrWillBeMember<EventTarget> relatedTarget; 48 RefPtrWillBeMember<EventTarget> relatedTarget;
49 }; 49 };
50 50
51 class MouseEvent : public MouseRelatedEvent { 51 class MouseEvent : public MouseRelatedEvent {
52 public: 52 public:
53 static PassRefPtrWillBeRawPtr<MouseEvent> create() 53 static PassRefPtrWillBeRawPtr<MouseEvent> create()
54 { 54 {
55 return adoptRefWillBeNoop(new MouseEvent); 55 return adoptRefWillBeNoop(new MouseEvent);
56 } 56 }
57 57
58 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& type, b ool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>, 58 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& type, b ool canBubble, bool cancelable, PassRefPtrWillBeRawPtr<AbstractView>,
59 int detail, int screenX, int screenY, int pageX, int pageY, 59 int detail, int screenX, int screenY, int pageX, int pageY,
60 int movementX, int movementY, 60 int movementX, int movementY,
61 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short b utton, 61 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short b utton,
62 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPt r<DataTransfer>, bool isSimulated = false); 62 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPt r<DataTransfer>,
63 bool isSimulated = false, PlatformMouseEvent::SyntheticEventType = Platf ormMouseEvent::RealOrIndistinguishable);
63 64
64 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget); 65 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, PassRefPtrWillBeRawPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtrWillBeRawPtr<Node> relatedTarget);
65 66
66 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, const MouseEventInit&); 67 static PassRefPtrWillBeRawPtr<MouseEvent> create(const AtomicString& eventTy pe, const MouseEventInit&);
67 68
68 virtual ~MouseEvent(); 69 virtual ~MouseEvent();
69 70
70 void initMouseEvent(const AtomicString& type, bool canBubble, bool cancelabl e, PassRefPtrWillBeRawPtr<AbstractView>, 71 void initMouseEvent(const AtomicString& type, bool canBubble, bool cancelabl e, PassRefPtrWillBeRawPtr<AbstractView>,
71 int detail, int screenX, int screenY, int clientX, int clientY, 72 int detail, int screenX, int screenY, int clientX, int clientY,
72 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, 73 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey,
73 unsigned short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget ); 74 unsigned short button, PassRefPtrWillBeRawPtr<EventTarget> relatedTarget );
74 75
75 // WinIE uses 1,4,2 for left/middle/right but not for click (just for moused own/up, maybe others), 76 // WinIE uses 1,4,2 for left/middle/right but not for click (just for moused own/up, maybe others),
76 // but we will match the standard DOM. 77 // but we will match the standard DOM.
77 unsigned short button() const { return m_button; } 78 unsigned short button() const { return m_button; }
78 bool buttonDown() const { return m_buttonDown; } 79 bool buttonDown() const { return m_buttonDown; }
79 EventTarget* relatedTarget() const { return m_relatedTarget.get(); } 80 EventTarget* relatedTarget() const { return m_relatedTarget.get(); }
80 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; } 81 void setRelatedTarget(PassRefPtrWillBeRawPtr<EventTarget> relatedTarget) { m _relatedTarget = relatedTarget; }
81 82
82 Node* toElement() const; 83 Node* toElement() const;
83 Node* fromElement() const; 84 Node* fromElement() const;
84 85
85 DataTransfer* dataTransfer() const { return isDragEvent() ? m_dataTransfer.g et() : 0; } 86 DataTransfer* dataTransfer() const { return isDragEvent() ? m_dataTransfer.g et() : 0; }
86 87
88 bool fromTouch() const { return m_syntheticEventType == PlatformMouseEvent:: FromTouch; }
89
87 virtual const AtomicString& interfaceName() const OVERRIDE; 90 virtual const AtomicString& interfaceName() const OVERRIDE;
88 91
89 virtual bool isMouseEvent() const OVERRIDE; 92 virtual bool isMouseEvent() const OVERRIDE;
90 virtual bool isDragEvent() const OVERRIDE FINAL; 93 virtual bool isDragEvent() const OVERRIDE FINAL;
91 virtual int which() const OVERRIDE FINAL; 94 virtual int which() const OVERRIDE FINAL;
92 95
93 virtual void trace(Visitor*) OVERRIDE; 96 virtual void trace(Visitor*) OVERRIDE;
94 97
95 protected: 98 protected:
96 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>, 99 MouseEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRe fPtrWillBeRawPtr<AbstractView>,
97 int detail, int screenX, int screenY, int pageX, int pageY, 100 int detail, int screenX, int screenY, int pageX, int pageY,
98 int movementX, int movementY, 101 int movementX, int movementY,
99 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short b utton, 102 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short b utton,
100 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPt r<DataTransfer>, bool isSimulated); 103 PassRefPtrWillBeRawPtr<EventTarget> relatedTarget, PassRefPtrWillBeRawPt r<DataTransfer>,
104 bool isSimulated, PlatformMouseEvent::SyntheticEventType);
101 105
102 MouseEvent(const AtomicString& type, const MouseEventInit&); 106 MouseEvent(const AtomicString& type, const MouseEventInit&);
103 107
104 MouseEvent(); 108 MouseEvent();
105 109
106 private: 110 private:
107 unsigned short m_button; 111 unsigned short m_button;
108 bool m_buttonDown; 112 bool m_buttonDown;
109 RefPtrWillBeMember<EventTarget> m_relatedTarget; 113 RefPtrWillBeMember<EventTarget> m_relatedTarget;
110 RefPtrWillBeMember<DataTransfer> m_dataTransfer; 114 RefPtrWillBeMember<DataTransfer> m_dataTransfer;
115 PlatformMouseEvent::SyntheticEventType m_syntheticEventType;
111 }; 116 };
112 117
113 class SimulatedMouseEvent FINAL : public MouseEvent { 118 class SimulatedMouseEvent FINAL : public MouseEvent {
114 public: 119 public:
115 static PassRefPtrWillBeRawPtr<SimulatedMouseEvent> create(const AtomicString & eventType, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyingEvent); 120 static PassRefPtrWillBeRawPtr<SimulatedMouseEvent> create(const AtomicString & eventType, PassRefPtrWillBeRawPtr<AbstractView>, PassRefPtrWillBeRawPtr<Event> underlyingEvent);
116 virtual ~SimulatedMouseEvent(); 121 virtual ~SimulatedMouseEvent();
117 122
118 virtual void trace(Visitor*) OVERRIDE; 123 virtual void trace(Visitor*) OVERRIDE;
119 124
120 private: 125 private:
(...skipping 12 matching lines...) Expand all
133 virtual bool dispatchEvent(EventDispatcher*) const OVERRIDE; 138 virtual bool dispatchEvent(EventDispatcher*) const OVERRIDE;
134 bool isSyntheticMouseEvent() const { return m_mouseEventType == SyntheticMou seEvent; } 139 bool isSyntheticMouseEvent() const { return m_mouseEventType == SyntheticMou seEvent; }
135 MouseEventType m_mouseEventType; 140 MouseEventType m_mouseEventType;
136 }; 141 };
137 142
138 DEFINE_EVENT_TYPE_CASTS(MouseEvent); 143 DEFINE_EVENT_TYPE_CASTS(MouseEvent);
139 144
140 } // namespace blink 145 } // namespace blink
141 146
142 #endif // MouseEvent_h 147 #endif // MouseEvent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698