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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 | 240 |
240 void fakeMouseMoveEventTimerFired(Timer<EventHandler>*); | 241 void fakeMouseMoveEventTimerFired(Timer<EventHandler>*); |
241 void cancelFakeMouseMoveEvent(); | 242 void cancelFakeMouseMoveEvent(); |
242 bool isCursorVisible() const; | 243 bool isCursorVisible() const; |
243 void updateCursor(); | 244 void updateCursor(); |
244 | 245 |
245 ScrollableArea* associatedScrollableArea(const Layer*) const; | 246 ScrollableArea* associatedScrollableArea(const Layer*) const; |
246 | 247 |
247 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled
. | 248 // Scrolls the elements of the DOM tree. Returns true if a node was scrolled
. |
248 // False if we reached the root and couldn't scroll anything. | 249 // False if we reached the root and couldn't scroll anything. |
249 // direction - The direction to scroll in. If this is a logicl direction, it
will be | 250 // direction - The direction to scroll in. If this is a logical direction, i
t will be |
250 // converted to the physical direction based on a node's writing
mode. | 251 // converted to the physical direction based on a node's writing
mode. |
251 // granularity - The units that the scroll delta parameter is in. | 252 // granularity - The units that the scroll delta parameter is in. |
252 // startNode - The node to start bubbling the scroll from. If a node can't s
croll, | 253 // startNode - The node to start bubbling the scroll from. If a node can't s
croll, |
253 // the scroll bubbles up to the containing block. | 254 // the scroll bubbles up to the containing block. |
254 // stopNode - On input, if provided and non-null, the node at which we shoul
d stop bubbling on input. | 255 // stopNode - On input, if provided and non-null, the node at which we shoul
d stop bubbling on input. |
255 // On output, if provided and a node was scrolled stopNode will p
oint to that node. | 256 // On output, if provided and a node was scrolled stopNode will p
oint to that node. |
256 // delta - The delta to scroll by, in the units of the granularity parameter
. (e.g. pixels, lines, pages, etc.) | 257 // delta - The delta to scroll by, in the units of the granularity parameter
. (e.g. pixels, lines, pages, etc.) |
257 // absolutePoint - For wheel scrolls - the location, in absolute coordinates
, where the event occured. | 258 // absolutePoint - For wheel scrolls - the location, in absolute coordinates
, where the event occured. |
258 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = nullptr, N
ode** stopNode = nullptr, float delta = 1.0f, IntPoint absolutePoint = IntPoint(
)); | 259 bool scroll(ScrollDirection, ScrollGranularity, Node* startNode = nullptr, N
ode** stopNode = nullptr, float delta = 1.0f, IntPoint absolutePoint = IntPoint(
)); |
259 | 260 |
| 261 bool customizedScroll(ScrollState*, Node* startNode = nullptr); |
| 262 |
260 TouchAction intersectTouchAction(const TouchAction, const TouchAction); | 263 TouchAction intersectTouchAction(const TouchAction, const TouchAction); |
261 TouchAction computeEffectiveTouchAction(const Node&); | 264 TouchAction computeEffectiveTouchAction(const Node&); |
262 | 265 |
263 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR
equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::
Active); | 266 HitTestResult hitTestResultInFrame(LocalFrame*, const LayoutPoint&, HitTestR
equest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::
Active); |
264 | 267 |
265 void invalidateClick(); | 268 void invalidateClick(); |
266 | 269 |
267 void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireM
ouseOverOut); | 270 void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireM
ouseOverOut); |
268 | 271 |
269 MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const
PlatformMouseEvent&); | 272 MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const
PlatformMouseEvent&); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 RefPtrWillBeMember<Node> m_previousGestureScrolledNode; | 392 RefPtrWillBeMember<Node> m_previousGestureScrolledNode; |
390 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture; | 393 RefPtrWillBeMember<Scrollbar> m_scrollbarHandlingScrollGesture; |
391 | 394 |
392 double m_maxMouseMovedDuration; | 395 double m_maxMouseMovedDuration; |
393 | 396 |
394 bool m_longTapShouldInvokeContextMenu; | 397 bool m_longTapShouldInvokeContextMenu; |
395 | 398 |
396 Timer<EventHandler> m_activeIntervalTimer; | 399 Timer<EventHandler> m_activeIntervalTimer; |
397 double m_lastShowPressTimestamp; | 400 double m_lastShowPressTimestamp; |
398 RefPtrWillBeMember<Element> m_lastDeferredTapElement; | 401 RefPtrWillBeMember<Element> m_lastDeferredTapElement; |
| 402 |
| 403 // The following are only used when the ScrollCustomization |
| 404 // runtime enabled feature is on. |
| 405 // The last element to be scrolled, if a scroll is in progress. |
| 406 RefPtrWillBeMember<Element> m_currentNativeScrollingElement; |
| 407 WillBeHeapVector<RefPtrWillBeMember<Element>> m_currentScrollChain; |
| 408 // True iff an element is currently being scrolled. |
| 409 bool m_scrollLockedToElement; |
399 }; | 410 }; |
400 | 411 |
401 } // namespace blink | 412 } // namespace blink |
402 | 413 |
403 #endif // EventHandler_h | 414 #endif // EventHandler_h |
OLD | NEW |