OLD | NEW |
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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 class OptionalCursor; | 67 class OptionalCursor; |
68 class PlatformGestureEvent; | 68 class PlatformGestureEvent; |
69 class PlatformKeyboardEvent; | 69 class PlatformKeyboardEvent; |
70 class PlatformTouchEvent; | 70 class PlatformTouchEvent; |
71 class PlatformWheelEvent; | 71 class PlatformWheelEvent; |
72 class Layer; | 72 class Layer; |
73 class LayerScrollableArea; | 73 class LayerScrollableArea; |
74 class LayoutObject; | 74 class LayoutObject; |
75 class ScrollableArea; | 75 class ScrollableArea; |
76 class Scrollbar; | 76 class Scrollbar; |
| 77 class ScrollState; |
77 class TextEvent; | 78 class TextEvent; |
78 class VisibleSelection; | 79 class VisibleSelection; |
79 class WheelEvent; | 80 class WheelEvent; |
80 class Widget; | 81 class Widget; |
81 | 82 |
82 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili
ngWhitespace }; | 83 enum AppendTrailingWhitespace { ShouldAppendTrailingWhitespace, DontAppendTraili
ngWhitespace }; |
83 enum class DragInitiator; | 84 enum class DragInitiator; |
84 | 85 |
85 class EventHandler : public NoBaseWillBeGarbageCollectedFinalized<EventHandler>
{ | 86 class EventHandler : public NoBaseWillBeGarbageCollectedFinalized<EventHandler>
{ |
86 WTF_MAKE_NONCOPYABLE(EventHandler); | 87 WTF_MAKE_NONCOPYABLE(EventHandler); |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 | 239 |
239 void fakeMouseMoveEventTimerFired(Timer<EventHandler>*); | 240 void fakeMouseMoveEventTimerFired(Timer<EventHandler>*); |
240 void cancelFakeMouseMoveEvent(); | 241 void cancelFakeMouseMoveEvent(); |
241 bool isCursorVisible() const; | 242 bool isCursorVisible() const; |
242 void updateCursor(); | 243 void updateCursor(); |
243 | 244 |
244 ScrollableArea* associatedScrollableArea(const Layer*) const; | 245 ScrollableArea* associatedScrollableArea(const Layer*) const; |
245 | 246 |
246 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled
. | 247 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled
. |
247 // False if we reached the root and couldn't scroll anything. | 248 // False if we reached the root and couldn't scroll anything. |
248 // direction - The direction to scroll in. If this is a logicl direction, it
will be | 249 // direction - The direction to scroll in. If this is a logical direction, i
t will be |
249 // converted to the physical direction based on a node's writing
mode. | 250 // converted to the physical direction based on a node's writing
mode. |
250 // granularity - The units that the scroll delta parameter is in. | 251 // granularity - The units that the scroll delta parameter is in. |
251 // startNode - The node to start bubbling the scroll from. If a node can't s
croll, | 252 // startNode - The node to start bubbling the scroll from. If a node can't s
croll, |
252 // the scroll bubbles up to the containing block. | 253 // the scroll bubbles up to the containing block. |
253 // stopNode - On input, if provided and non-null, the node at which we shoul
d stop bubbling on input. | 254 // stopNode - On input, if provided and non-null, the node at which we shoul
d stop bubbling on input. |
254 // On output, if provided and a node was scrolled stopNode will p
oint to that node. | 255 // On output, if provided and a node was scrolled stopNode will p
oint to that node. |
255 // delta - The delta to scroll by, in the units of the granularity parameter
. (e.g. pixels, lines, pages, etc.) | 256 // delta - The delta to scroll by, in the units of the granularity parameter
. (e.g. pixels, lines, pages, etc.) |
256 // absolutePoint - For wheel scrolls - the location, in absolute coordinates
, where the event occured. | 257 // absolutePoint - For wheel scrolls - the location, in absolute coordinates
, where the event occured. |
257 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = nullptr, N
ode** stopNode = nullptr, float delta = 1.0f, IntPoint absolutePoint = IntPoint(
)); | 258 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = nullptr, N
ode** stopNode = nullptr, float delta = 1.0f, IntPoint absolutePoint = IntPoint(
)); |
258 | 259 |
| 260 void customizedScroll(ScrollState*, Node* startNode = nullptr); |
| 261 |
259 TouchAction intersectTouchAction(const TouchAction, const TouchAction); | 262 TouchAction intersectTouchAction(const TouchAction, const TouchAction); |
260 TouchAction computeEffectiveTouchAction(const Node&); | 263 TouchAction computeEffectiveTouchAction(const Node&); |
261 | 264 |
262 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR
equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::
Active); | 265 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR
equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::
Active); |
263 | 266 |
264 void invalidateClick(); | 267 void invalidateClick(); |
265 | 268 |
266 void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireM
ouseOverOut); | 269 void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireM
ouseOverOut); |
267 | 270 |
268 MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const
PlatformMouseEvent&); | 271 MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const
PlatformMouseEvent&); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 RefPtrWillBeMember<Node> m_previousGestureScrolledNode; | 391 RefPtrWillBeMember<Node> m_previousGestureScrolledNode; |
389 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture; | 392 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture; |
390 | 393 |
391 double m_maxMouseMovedDuration; | 394 double m_maxMouseMovedDuration; |
392 | 395 |
393 bool m_longTapShouldInvokeContextMenu; | 396 bool m_longTapShouldInvokeContextMenu; |
394 | 397 |
395 Timer<EventHandler> m_activeIntervalTimer; | 398 Timer<EventHandler> m_activeIntervalTimer; |
396 double m_lastShowPressTimestamp; | 399 double m_lastShowPressTimestamp; |
397 RefPtrWillBeMember<Element> m_lastDeferredTapElement; | 400 RefPtrWillBeMember<Element> m_lastDeferredTapElement; |
| 401 |
| 402 // Only used with the ScrollCustomization runtime enabled feature. |
| 403 WillBeHeapDeque<RefPtrWillBeMember<Element>> m_currentScrollChain; |
| 404 // True iff an some of the delta has been consumed for the current |
| 405 // scroll sequence. Only used with ScrollCustomization. |
| 406 bool m_deltaConsumedForScrollSequence; |
398 }; | 407 }; |
399 | 408 |
400 } // namespace blink | 409 } // namespace blink |
401 | 410 |
402 #endif // EventHandler_h | 411 #endif // EventHandler_h |
OLD | NEW |