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

Side by Side Diff: sky/engine/core/page/EventHandler.h

Issue 870073003: Remove mouse events from Sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 14 matching lines...) Expand all
25 25
26 #ifndef SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_ 26 #ifndef SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_
27 #define SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_ 27 #define SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_
28 28
29 #include "sky/engine/core/editing/TextGranularity.h" 29 #include "sky/engine/core/editing/TextGranularity.h"
30 #include "sky/engine/core/events/TextEventInputType.h" 30 #include "sky/engine/core/events/TextEventInputType.h"
31 #include "sky/engine/core/page/FocusType.h" 31 #include "sky/engine/core/page/FocusType.h"
32 #include "sky/engine/core/rendering/HitTestRequest.h" 32 #include "sky/engine/core/rendering/HitTestRequest.h"
33 #include "sky/engine/core/rendering/style/RenderStyleConstants.h" 33 #include "sky/engine/core/rendering/style/RenderStyleConstants.h"
34 #include "sky/engine/platform/Cursor.h" 34 #include "sky/engine/platform/Cursor.h"
35 #include "sky/engine/platform/PlatformMouseEvent.h" 35 #include "sky/engine/platform/PlatformEvent.h"
36 #include "sky/engine/platform/Timer.h" 36 #include "sky/engine/platform/Timer.h"
37 #include "sky/engine/platform/geometry/LayoutPoint.h" 37 #include "sky/engine/platform/geometry/LayoutPoint.h"
38 #include "sky/engine/platform/heap/Handle.h" 38 #include "sky/engine/platform/heap/Handle.h"
39 #include "sky/engine/platform/scroll/ScrollTypes.h" 39 #include "sky/engine/platform/scroll/ScrollTypes.h"
40 #include "sky/engine/wtf/Forward.h" 40 #include "sky/engine/wtf/Forward.h"
41 #include "sky/engine/wtf/HashMap.h" 41 #include "sky/engine/wtf/HashMap.h"
42 #include "sky/engine/wtf/HashTraits.h" 42 #include "sky/engine/wtf/HashTraits.h"
43 #include "sky/engine/wtf/RefPtr.h" 43 #include "sky/engine/wtf/RefPtr.h"
44 44
45 namespace blink { 45 namespace blink {
46 46
47 class AutoscrollController; 47 class AutoscrollController;
48 class Document; 48 class Document;
49 class Element; 49 class Element;
50 class Event; 50 class Event;
51 class EventTarget; 51 class EventTarget;
52 template <typename EventType> 52 template <typename EventType>
53 class EventWithHitTestResults; 53 class EventWithHitTestResults;
54 class FloatPoint; 54 class FloatPoint;
55 class FloatQuad; 55 class FloatQuad;
56 class HitTestRequest; 56 class HitTestRequest;
57 class HitTestResult; 57 class HitTestResult;
58 class KeyboardEvent; 58 class KeyboardEvent;
59 class LocalFrame; 59 class LocalFrame;
60 class Node; 60 class Node;
61 class OptionalCursor; 61 class OptionalCursor;
62 class PlatformGestureEvent; 62 class PlatformGestureEvent;
63 class PlatformKeyboardEvent; 63 class PlatformKeyboardEvent;
64 class PlatformTouchEvent; 64 class PlatformTouchEvent;
65 class PlatformWheelEvent;
66 class RenderLayer; 65 class RenderLayer;
67 class RenderLayerScrollableArea; 66 class RenderLayerScrollableArea;
68 class RenderObject; 67 class RenderObject;
69 class ScrollableArea; 68 class ScrollableArea;
70 class Scrollbar; 69 class Scrollbar;
71 class TextEvent; 70 class TextEvent;
72 class TouchEvent; 71 class TouchEvent;
73 class VisibleSelection; 72 class VisibleSelection;
74 class WheelEvent;
75 class Widget; 73 class Widget;
76 74
77 typedef EventWithHitTestResults<PlatformGestureEvent> GestureEventWithHitTestRes ults; 75 typedef EventWithHitTestResults<PlatformGestureEvent> GestureEventWithHitTestRes ults;
78 typedef EventWithHitTestResults<PlatformMouseEvent> MouseEventWithHitTestResults ;
79 76
80 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili ngWhitespace }; 77 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili ngWhitespace };
81 enum CheckDragHysteresis { ShouldCheckDragHysteresis, DontCheckDragHysteresis }; 78 enum CheckDragHysteresis { ShouldCheckDragHysteresis, DontCheckDragHysteresis };
82 79
83 class EventHandler { 80 class EventHandler {
84 WTF_MAKE_NONCOPYABLE(EventHandler); 81 WTF_MAKE_NONCOPYABLE(EventHandler);
85 public: 82 public:
86 explicit EventHandler(LocalFrame*); 83 explicit EventHandler(LocalFrame*);
87 ~EventHandler(); 84 ~EventHandler();
88 85
89 void clear(); 86 void clear();
90 void nodeWillBeRemoved(Node&); 87 void nodeWillBeRemoved(Node&);
91 88
92 void updateSelectionForMouseDrag(); 89 void updateSelectionForMouseDrag();
93 90
94 Node* mousePressNode() const; 91 Node* mousePressNode() const;
95 92
96 void stopAutoscroll(); 93 void stopAutoscroll();
97 94
98 void dispatchFakeMouseMoveEventSoon();
99 void dispatchFakeMouseMoveEventSoonInQuad(const FloatQuad&);
100
101 HitTestResult hitTestResultAtPoint(const LayoutPoint&, 95 HitTestResult hitTestResultAtPoint(const LayoutPoint&,
102 HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active, 96 HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active,
103 const LayoutSize& padding = LayoutSize()); 97 const LayoutSize& padding = LayoutSize());
104 98
105 bool mousePressed() const { return m_mousePressed; } 99 bool mousePressed() const { return m_mousePressed; }
106 void setMousePressed(bool pressed) { m_mousePressed = pressed; } 100 void setMousePressed(bool pressed) { m_mousePressed = pressed; }
107 101
108 void setCapturingMouseEventsNode(PassRefPtr<Node>); // A caller is responsib le for resetting capturing node to 0.
109
110 void scheduleHoverStateUpdate(); 102 void scheduleHoverStateUpdate();
111 void scheduleCursorUpdate(); 103 void scheduleCursorUpdate();
112 104
113 IntPoint lastKnownMousePosition() const; 105 IntPoint lastKnownMousePosition() const;
114 Cursor currentMouseCursor() const { return m_currentMouseCursor; } 106 Cursor currentMouseCursor() const { return m_currentMouseCursor; }
115 107
116 // Attempts to scroll the DOM tree. If that fails, scrolls the view. 108 // Attempts to scroll the DOM tree. If that fails, scrolls the view.
117 // If the view can't be scrolled either, recursively bubble to the parent fr ame. 109 // If the view can't be scrolled either, recursively bubble to the parent fr ame.
118 bool bubblingScroll(ScrollDirection, ScrollGranularity, Node* startingNode = 0); 110 bool bubblingScroll(ScrollDirection, ScrollGranularity, Node* startingNode = 0);
119 111
120 bool handleMouseMoveEvent(const PlatformMouseEvent&);
121 void handleMouseLeaveEvent(const PlatformMouseEvent&);
122
123 bool handleMousePressEvent(const PlatformMouseEvent&);
124 bool handleMouseReleaseEvent(const PlatformMouseEvent&);
125 bool handleWheelEvent(const PlatformWheelEvent&);
126 void defaultWheelEventHandler(Node*, WheelEvent*);
127
128 // Called on the local root frame exactly once per gesture event. 112 // Called on the local root frame exactly once per gesture event.
129 bool handleGestureEvent(const PlatformGestureEvent&); 113 bool handleGestureEvent(const PlatformGestureEvent&);
130 114
131 // Hit-test the provided (non-scroll) gesture event, applying touch-adjustme nt and updating 115 // Hit-test the provided (non-scroll) gesture event, applying touch-adjustme nt and updating
132 // hover/active state across all frames if necessary. This should be called at most once 116 // hover/active state across all frames if necessary. This should be called at most once
133 // per gesture event, and called on the local root frame. 117 // per gesture event, and called on the local root frame.
134 // Note: This is similar to (the less clearly named) prepareMouseEvent. 118 // Note: This is similar to (the less clearly named) prepareMouseEvent.
135 // FIXME: Remove readOnly param when there is only ever a single call to thi s. 119 // FIXME: Remove readOnly param when there is only ever a single call to thi s.
136 GestureEventWithHitTestResults targetGestureEvent(const PlatformGestureEvent &, bool readOnly = false); 120 GestureEventWithHitTestResults targetGestureEvent(const PlatformGestureEvent &, bool readOnly = false);
137 121
(...skipping 20 matching lines...) Expand all
158 bool handleTouchEvent(const PlatformTouchEvent&); 142 bool handleTouchEvent(const PlatformTouchEvent&);
159 143
160 bool useHandCursor(Node*, bool isOverLink); 144 bool useHandCursor(Node*, bool isOverLink);
161 145
162 void notifyElementActivated(); 146 void notifyElementActivated();
163 147
164 private: 148 private:
165 bool updateSelectionForMouseDownDispatchingSelectStart(Node*, const VisibleS election&, TextGranularity); 149 bool updateSelectionForMouseDownDispatchingSelectStart(Node*, const VisibleS election&, TextGranularity);
166 void selectClosestWordFromHitTestResult(const HitTestResult&, AppendTrailing Whitespace); 150 void selectClosestWordFromHitTestResult(const HitTestResult&, AppendTrailing Whitespace);
167 void selectClosestMisspellingFromHitTestResult(const HitTestResult&, AppendT railingWhitespace); 151 void selectClosestMisspellingFromHitTestResult(const HitTestResult&, AppendT railingWhitespace);
168 void selectClosestWordFromMouseEvent(const MouseEventWithHitTestResults&);
169 void selectClosestMisspellingFromMouseEvent(const MouseEventWithHitTestResul ts&);
170 void selectClosestWordOrLinkFromMouseEvent(const MouseEventWithHitTestResult s&);
171
172 bool handleMouseMoveOrLeaveEvent(const PlatformMouseEvent&, HitTestResult* h overedNode = 0, bool onlyUpdateScrollbars = false);
173 bool handleMousePressEvent(const MouseEventWithHitTestResults&);
174 bool handleMousePressEventSingleClick(const MouseEventWithHitTestResults&);
175 bool handleMousePressEventDoubleClick(const MouseEventWithHitTestResults&);
176 bool handleMousePressEventTripleClick(const MouseEventWithHitTestResults&);
177 bool handleMouseFocus(const PlatformMouseEvent&);
178 bool handleMouseDraggedEvent(const MouseEventWithHitTestResults&);
179 bool handleMouseReleaseEvent(const MouseEventWithHitTestResults&);
180
181 bool handlePasteGlobalSelection(const PlatformMouseEvent&);
182 152
183 HitTestRequest::HitTestRequestType getHitTypeForGestureType(PlatformEvent::T ype); 153 HitTestRequest::HitTestRequestType getHitTypeForGestureType(PlatformEvent::T ype);
184 154
185 bool handleGestureTap(const GestureEventWithHitTestResults&); 155 bool handleGestureTap(const GestureEventWithHitTestResults&);
186 bool handleGestureLongPress(const GestureEventWithHitTestResults&); 156 bool handleGestureLongPress(const GestureEventWithHitTestResults&);
187 bool handleGestureLongTap(const GestureEventWithHitTestResults&); 157 bool handleGestureLongTap(const GestureEventWithHitTestResults&);
188 bool handleGestureScrollUpdate(const PlatformGestureEvent&); 158 bool handleGestureScrollUpdate(const PlatformGestureEvent&);
189 bool handleGestureScrollBegin(const PlatformGestureEvent&); 159 bool handleGestureScrollBegin(const PlatformGestureEvent&);
190 void clearGestureScrollNodes(); 160 void clearGestureScrollNodes();
191 161
192 OptionalCursor selectCursor(const HitTestResult&); 162 OptionalCursor selectCursor(const HitTestResult&);
193 OptionalCursor selectAutoCursor(const HitTestResult&, Node*, const Cursor& i Beam); 163 OptionalCursor selectAutoCursor(const HitTestResult&, Node*, const Cursor& i Beam);
194 164
195 void hoverTimerFired(Timer<EventHandler>*); 165 void hoverTimerFired(Timer<EventHandler>*);
196 void cursorUpdateTimerFired(Timer<EventHandler>*); 166 void cursorUpdateTimerFired(Timer<EventHandler>*);
197 void activeIntervalTimerFired(Timer<EventHandler>*); 167 void activeIntervalTimerFired(Timer<EventHandler>*);
198 168
199 bool mouseDownMayStartSelect() const { return m_mouseDownMayStartSelect; } 169 bool mouseDownMayStartSelect() const { return m_mouseDownMayStartSelect; }
200 170
201 void fakeMouseMoveEventTimerFired(Timer<EventHandler>*);
202 void cancelFakeMouseMoveEvent();
203 bool isCursorVisible() const; 171 bool isCursorVisible() const;
204 void updateCursor(); 172 void updateCursor();
205 173
206 bool isInsideScrollbar(const IntPoint&) const; 174 bool isInsideScrollbar(const IntPoint&) const;
207 175
208 ScrollableArea* associatedScrollableArea(const RenderLayer*) const; 176 ScrollableArea* associatedScrollableArea(const RenderLayer*) const;
209 177
210 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled . 178 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled .
211 // False if we reached the root and couldn't scroll anything. 179 // False if we reached the root and couldn't scroll anything.
212 // direction - The direction to scroll in. If this is a logicl direction, it will be 180 // direction - The direction to scroll in. If this is a logicl direction, it will be
213 // converted to the physical direction based on a node's writing mode. 181 // converted to the physical direction based on a node's writing mode.
214 // granularity - The units that the scroll delta parameter is in. 182 // granularity - The units that the scroll delta parameter is in.
215 // startNode - The node to start bubbling the scroll from. If a node can't s croll, 183 // startNode - The node to start bubbling the scroll from. If a node can't s croll,
216 // the scroll bubbles up to the containing block. 184 // the scroll bubbles up to the containing block.
217 // stopNode - On input, if provided and non-null, the node at which we shoul d stop bubbling on input. 185 // stopNode - On input, if provided and non-null, the node at which we shoul d stop bubbling on input.
218 // On output, if provided and a node was scrolled stopNode will p oint to that node. 186 // On output, if provided and a node was scrolled stopNode will p oint to that node.
219 // delta - The delta to scroll by, in the units of the granularity parameter . (e.g. pixels, lines, pages, etc.) 187 // delta - The delta to scroll by, in the units of the granularity parameter . (e.g. pixels, lines, pages, etc.)
220 // absolutePoint - For wheel scrolls - the location, in absolute coordinates , where the event occured. 188 // absolutePoint - For wheel scrolls - the location, in absolute coordinates , where the event occured.
221 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = 0, Node** stopNode = 0, float delta = 1.0f, IntPoint absolutePoint = IntPoint()); 189 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = 0, Node** stopNode = 0, float delta = 1.0f, IntPoint absolutePoint = IntPoint());
222 190
223 TouchAction intersectTouchAction(const TouchAction, const TouchAction); 191 TouchAction intersectTouchAction(const TouchAction, const TouchAction);
224 TouchAction computeEffectiveTouchAction(const Node&); 192 TouchAction computeEffectiveTouchAction(const Node&);
225 193
226 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest:: Active); 194 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest:: Active);
227 195
228 void invalidateClick(); 196 void invalidateClick();
229 197
230 void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireM ouseOverOut);
231
232 MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const PlatformMouseEvent&);
233
234 bool dispatchMouseEvent(const AtomicString& eventType, Node* target, int cli ckCount, const PlatformMouseEvent&, bool setUnder);
235
236 bool dragHysteresisExceeded(const FloatPoint&) const; 198 bool dragHysteresisExceeded(const FloatPoint&) const;
237 bool dragHysteresisExceeded(const IntPoint&) const; 199 bool dragHysteresisExceeded(const IntPoint&) const;
238 200
239 bool passMousePressEventToScrollbar(MouseEventWithHitTestResults&);
240
241 bool passWidgetMouseDownEventToWidget(const MouseEventWithHitTestResults&);
242
243 bool passWheelEventToWidget(const PlatformWheelEvent&, Widget*);
244 void defaultTabEventHandler(KeyboardEvent*); 201 void defaultTabEventHandler(KeyboardEvent*);
245 202
246 void updateSelectionForMouseDrag(const HitTestResult&); 203 void updateSelectionForMouseDrag(const HitTestResult&);
247 204
248 void updateLastScrollbarUnderMouse(Scrollbar*, bool); 205 void updateLastScrollbarUnderMouse(Scrollbar*, bool);
249 206
250 bool capturesDragging() const { return m_capturesDragging; } 207 bool capturesDragging() const { return m_capturesDragging; }
251 208
252 bool handleGestureShowPress(); 209 bool handleGestureShowPress();
253 210
254 bool passScrollGestureEventToWidget(const PlatformGestureEvent&, RenderObjec t*); 211 bool passScrollGestureEventToWidget(const PlatformGestureEvent&, RenderObjec t*);
255 bool sendScrollEventToView(const PlatformGestureEvent&, const FloatSize&); 212 bool sendScrollEventToView(const PlatformGestureEvent&, const FloatSize&);
256 213
257 AutoscrollController* autoscrollController() const; 214 AutoscrollController* autoscrollController() const;
258 void setLastKnownMousePosition(const PlatformMouseEvent&);
259 215
260 LocalFrame* const m_frame; 216 LocalFrame* const m_frame;
261 217
262 bool m_mousePressed; 218 bool m_mousePressed;
263 bool m_capturesDragging; 219 bool m_capturesDragging;
264 RefPtr<Node> m_mousePressNode; 220 RefPtr<Node> m_mousePressNode;
265 221
266 bool m_mouseDownMayStartSelect; 222 bool m_mouseDownMayStartSelect;
267 bool m_mouseDownMayStartDrag; 223 bool m_mouseDownMayStartDrag;
268 bool m_mouseDownWasSingleClickInSelection;
269 enum SelectionInitiationState { HaveNotStartedSelection, PlacedCaret, Extend edSelection }; 224 enum SelectionInitiationState { HaveNotStartedSelection, PlacedCaret, Extend edSelection };
270 SelectionInitiationState m_selectionInitiationState; 225 SelectionInitiationState m_selectionInitiationState;
271 226
272 LayoutPoint m_dragStartPos; 227 LayoutPoint m_dragStartPos;
273 228
274 Timer<EventHandler> m_hoverTimer; 229 Timer<EventHandler> m_hoverTimer;
275 Timer<EventHandler> m_cursorUpdateTimer; 230 Timer<EventHandler> m_cursorUpdateTimer;
276 231
277 bool m_mouseDownMayStartAutoscroll; 232 bool m_mouseDownMayStartAutoscroll;
278 233
279 Timer<EventHandler> m_fakeMouseMoveEventTimer;
280
281 RefPtr<Node> m_capturingMouseEventsNode;
282 bool m_eventHandlerWillResetCapturingMouseEventsNode;
283
284 RefPtr<Node> m_nodeUnderMouse; 234 RefPtr<Node> m_nodeUnderMouse;
285 RefPtr<Node> m_lastNodeUnderMouse; 235 RefPtr<Node> m_lastNodeUnderMouse;
286 RefPtr<Scrollbar> m_lastScrollbarUnderMouse; 236 RefPtr<Scrollbar> m_lastScrollbarUnderMouse;
287 Cursor m_currentMouseCursor; 237 Cursor m_currentMouseCursor;
288 238
289 int m_clickCount; 239 int m_clickCount;
290 RefPtr<Node> m_clickNode; 240 RefPtr<Node> m_clickNode;
291 241
292 RefPtr<Node> m_dragTarget; 242 RefPtr<Node> m_dragTarget;
293 bool m_shouldOnlyFireDragOverEvent; 243 bool m_shouldOnlyFireDragOverEvent;
294 244
295 bool m_mousePositionIsUnknown; 245 bool m_mousePositionIsUnknown;
296 IntPoint m_lastKnownMousePosition; 246 IntPoint m_lastKnownMousePosition;
297 IntPoint m_lastKnownMouseGlobalPosition; 247 IntPoint m_lastKnownMouseGlobalPosition;
298 IntPoint m_mouseDownPos; // In our view's coords. 248 IntPoint m_mouseDownPos; // In our view's coords.
299 double m_mouseDownTimestamp;
300 PlatformMouseEvent m_mouseDown;
301
302 RefPtr<Node> m_latchedWheelEventNode;
303 bool m_widgetIsLatched;
304 249
305 RefPtr<Node> m_previousWheelScrolledNode; 250 RefPtr<Node> m_previousWheelScrolledNode;
306 251
307 // The target of each active touch point indexed by the touch ID. 252 // The target of each active touch point indexed by the touch ID.
308 typedef HashMap<unsigned, RefPtr<EventTarget>, DefaultHash<unsigned>::Hash, WTF::UnsignedWithZeroKeyHashTraits<unsigned> > TouchTargetMap; 253 typedef HashMap<unsigned, RefPtr<EventTarget>, DefaultHash<unsigned>::Hash, WTF::UnsignedWithZeroKeyHashTraits<unsigned> > TouchTargetMap;
309 TouchTargetMap m_targetForTouchID; 254 TouchTargetMap m_targetForTouchID;
310 255
311 // If set, the document of the active touch sequence. Unset if no touch sequ ence active. 256 // If set, the document of the active touch sequence. Unset if no touch sequ ence active.
312 RefPtr<Document> m_touchSequenceDocument; 257 RefPtr<Document> m_touchSequenceDocument;
313 258
314 bool m_touchPressed; 259 bool m_touchPressed;
315 260
316 RefPtr<Node> m_scrollGestureHandlingNode; 261 RefPtr<Node> m_scrollGestureHandlingNode;
317 bool m_lastGestureScrollOverWidget; 262 bool m_lastGestureScrollOverWidget;
318 RefPtr<Node> m_previousGestureScrolledNode; 263 RefPtr<Node> m_previousGestureScrolledNode;
319 RefPtr<Scrollbar> m_scrollbarHandlingScrollGesture; 264 RefPtr<Scrollbar> m_scrollbarHandlingScrollGesture;
320 265
321 double m_maxMouseMovedDuration; 266 double m_maxMouseMovedDuration;
322 bool m_didStartDrag; 267 bool m_didStartDrag;
323 268
324 Timer<EventHandler> m_activeIntervalTimer; 269 Timer<EventHandler> m_activeIntervalTimer;
325 double m_lastShowPressTimestamp; 270 double m_lastShowPressTimestamp;
326 RefPtr<Element> m_lastDeferredTapElement; 271 RefPtr<Element> m_lastDeferredTapElement;
327 }; 272 };
328 273
329 } // namespace blink 274 } // namespace blink
330 275
331 #endif // SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_ 276 #endif // SKY_ENGINE_CORE_PAGE_EVENTHANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698