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

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

Issue 850443002: Scroll Customization Prototype (Not for review, WIP) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase / cleanup / minor bug fixes Created 5 years, 9 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
« no previous file with comments | « Source/core/frame/LocalFrame.cpp ('k') | Source/core/page/EventHandler.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW
« no previous file with comments | « Source/core/frame/LocalFrame.cpp ('k') | Source/core/page/EventHandler.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698