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

Unified Diff: third_party/WebKit/Source/core/input/EventHandler.h

Issue 1463823003: Return a enumeration of the state of handling of InputEvents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/input/EventHandler.h
diff --git a/third_party/WebKit/Source/core/input/EventHandler.h b/third_party/WebKit/Source/core/input/EventHandler.h
index 20aee780bb665791bcaca6eca97deba33b6bbdbb..fb3bc37971a976c61a9a594bca7728272367ae93 100644
--- a/third_party/WebKit/Source/core/input/EventHandler.h
+++ b/third_party/WebKit/Source/core/input/EventHandler.h
@@ -42,6 +42,7 @@
#include "platform/heap/Handle.h"
#include "platform/scroll/ScrollTypes.h"
#include "public/platform/WebFocusType.h"
+#include "public/platform/WebInputEventResult.h"
#include "wtf/Forward.h"
#include "wtf/HashMap.h"
#include "wtf/HashTraits.h"
@@ -114,9 +115,9 @@ public:
void setCapturingMouseEventsNode(PassRefPtrWillBeRawPtr<Node>); // A caller is responsible for resetting capturing node to 0.
- bool updateDragAndDrop(const PlatformMouseEvent&, DataTransfer*);
+ WebInputEventResult updateDragAndDrop(const PlatformMouseEvent&, DataTransfer*);
void cancelDragAndDrop(const PlatformMouseEvent&, DataTransfer*);
- bool performDragAndDrop(const PlatformMouseEvent&, DataTransfer*);
+ WebInputEventResult performDragAndDrop(const PlatformMouseEvent&, DataTransfer*);
void updateDragStateAfterEditDragIfNeeded(Element* rootEditableElement);
void scheduleHoverStateUpdate();
@@ -135,17 +136,17 @@ public:
// If the view can't be scrolled either, recursively bubble to the parent frame.
bool bubblingScroll(ScrollDirection, ScrollGranularity, Node* startingNode = nullptr);
- bool handleMouseMoveEvent(const PlatformMouseEvent&);
+ WebInputEventResult handleMouseMoveEvent(const PlatformMouseEvent&);
void handleMouseLeaveEvent(const PlatformMouseEvent&);
- bool handleMousePressEvent(const PlatformMouseEvent&);
- bool handleMouseReleaseEvent(const PlatformMouseEvent&);
- bool handleWheelEvent(const PlatformWheelEvent&);
+ WebInputEventResult handleMousePressEvent(const PlatformMouseEvent&);
+ WebInputEventResult handleMouseReleaseEvent(const PlatformMouseEvent&);
+ WebInputEventResult handleWheelEvent(const PlatformWheelEvent&);
void defaultWheelEventHandler(Node*, WheelEvent*);
// Called on the local root frame exactly once per gesture event.
- bool handleGestureEvent(const PlatformGestureEvent&);
- bool handleGestureEvent(const GestureEventWithHitTestResults&);
+ WebInputEventResult handleGestureEvent(const PlatformGestureEvent&);
+ WebInputEventResult handleGestureEvent(const GestureEventWithHitTestResults&);
// Clear the old hover/active state within frames before moving the hover state to the another frame
void updateGestureHoverActiveState(const HitTestRequest&, Element*);
@@ -158,11 +159,11 @@ public:
GestureEventWithHitTestResults targetGestureEvent(const PlatformGestureEvent&, bool readOnly = false);
GestureEventWithHitTestResults hitTestResultForGestureEvent(const PlatformGestureEvent&, HitTestRequest::HitTestRequestType);
// Handle the provided non-scroll gesture event. Should be called only on the inner frame.
- bool handleGestureEventInFrame(const GestureEventWithHitTestResults&);
+ WebInputEventResult handleGestureEventInFrame(const GestureEventWithHitTestResults&);
// Handle the provided scroll gesture event, propagating down to child frames as necessary.
- bool handleGestureScrollEvent(const PlatformGestureEvent&);
- bool handleGestureScrollEnd(const PlatformGestureEvent&);
+ WebInputEventResult handleGestureScrollEvent(const PlatformGestureEvent&);
+ WebInputEventResult handleGestureScrollEnd(const PlatformGestureEvent&);
bool isScrollbarHandlingGestures() const;
bool bestClickableNodeForHitTestResult(const HitTestResult&, IntPoint& targetPoint, Node*& targetNode);
@@ -170,15 +171,15 @@ public:
// FIXME: This doesn't appear to be used outside tests anymore, what path are we using now and is it tested?
bool bestZoomableAreaForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntRect& targetArea, Node*& targetNode);
- bool sendContextMenuEvent(const PlatformMouseEvent&, Node* overrideTargetNode = nullptr);
- bool sendContextMenuEventForKey(Element* overrideTargetElement = nullptr);
- bool sendContextMenuEventForGesture(const GestureEventWithHitTestResults&);
+ WebInputEventResult sendContextMenuEvent(const PlatformMouseEvent&, Node* overrideTargetNode = nullptr);
+ WebInputEventResult sendContextMenuEventForKey(Element* overrideTargetElement = nullptr);
+ WebInputEventResult sendContextMenuEventForGesture(const GestureEventWithHitTestResults&);
void setMouseDownMayStartAutoscroll() { m_mouseDownMayStartAutoscroll = true; }
static PlatformEvent::Modifiers accessKeyModifiers();
bool handleAccessKey(const PlatformKeyboardEvent&);
- bool keyEvent(const PlatformKeyboardEvent&);
+ WebInputEventResult keyEvent(const PlatformKeyboardEvent&);
void defaultKeyboardEventHandler(KeyboardEvent*);
bool handleTextInputEvent(const String& text, Event* underlyingEvent = nullptr, TextEventInputType = TextEventInputKeyboard);
@@ -190,7 +191,7 @@ public:
void capsLockStateMayHaveChanged(); // Only called by FrameSelection
- bool handleTouchEvent(const PlatformTouchEvent&);
+ WebInputEventResult handleTouchEvent(const PlatformTouchEvent&);
bool useHandCursor(Node*, bool isOverLink);
@@ -225,19 +226,19 @@ private:
DataTransfer* createDraggingDataTransfer() const;
- bool handleMouseMoveOrLeaveEvent(const PlatformMouseEvent&, HitTestResult* hoveredNode = nullptr, bool onlyUpdateScrollbars = false, bool forceLeave = false);
- bool handleMousePressEvent(const MouseEventWithHitTestResults&);
- bool handleMouseFocus(const MouseEventWithHitTestResults&, InputDeviceCapabilities* sourceCapabilities);
- bool handleMouseDraggedEvent(const MouseEventWithHitTestResults&);
- bool handleMouseReleaseEvent(const MouseEventWithHitTestResults&);
+ WebInputEventResult handleMouseMoveOrLeaveEvent(const PlatformMouseEvent&, HitTestResult* hoveredNode = nullptr, bool onlyUpdateScrollbars = false, bool forceLeave = false);
+ WebInputEventResult handleMousePressEvent(const MouseEventWithHitTestResults&);
+ WebInputEventResult handleMouseFocus(const MouseEventWithHitTestResults&, InputDeviceCapabilities* sourceCapabilities);
+ WebInputEventResult handleMouseDraggedEvent(const MouseEventWithHitTestResults&);
+ WebInputEventResult handleMouseReleaseEvent(const MouseEventWithHitTestResults&);
HitTestRequest::HitTestRequestType getHitTypeForGestureType(PlatformEvent::Type);
void applyTouchAdjustment(PlatformGestureEvent*, HitTestResult*);
- bool handleGestureTap(const GestureEventWithHitTestResults&);
- bool handleGestureLongPress(const GestureEventWithHitTestResults&);
- bool handleGestureLongTap(const GestureEventWithHitTestResults&);
- bool handleGestureScrollUpdate(const PlatformGestureEvent&);
- bool handleGestureScrollBegin(const PlatformGestureEvent&);
+ WebInputEventResult handleGestureTap(const GestureEventWithHitTestResults&);
+ WebInputEventResult handleGestureLongPress(const GestureEventWithHitTestResults&);
+ WebInputEventResult handleGestureLongTap(const GestureEventWithHitTestResults&);
+ WebInputEventResult handleGestureScrollUpdate(const PlatformGestureEvent&);
+ WebInputEventResult handleGestureScrollBegin(const PlatformGestureEvent&);
void clearGestureScrollState();
void updateGestureTargetNodeForMouseEvent(const GestureEventWithHitTestResults&);
@@ -283,24 +284,24 @@ private:
void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&);
// Returns true when the sent PE has defaultPrevented or defaultHandled set.
- bool dispatchPointerEvent(Node* target, const AtomicString& eventType, const PlatformMouseEvent&, Node* relatedTarget = nullptr);
+ WebInputEventResult dispatchPointerEvent(Node* target, const AtomicString& eventType, const PlatformMouseEvent&, Node* relatedTarget = nullptr);
// Dispatches mouseover, mouseout, mouseenter and mouseleave events to appropriate nodes when the mouse pointer moves from one node to another.
void sendMouseEventsForNodeTransition(Node*, Node*, const PlatformMouseEvent&);
MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const PlatformMouseEvent&);
- bool dispatchMouseEvent(const AtomicString& eventType, Node* target, int clickCount, const PlatformMouseEvent&);
+ WebInputEventResult dispatchMouseEvent(const AtomicString& eventType, Node* target, int clickCount, const PlatformMouseEvent&);
// Dispatches ME after corresponding PE provided the PE has not been canceled. The eventType arg
// must be a mouse event that can be gated though a preventDefaulted pointerdown (i.e., one of
// {mousedown, mousemove, mouseup}).
// TODO(mustaq): Can we avoid the clickCount param, instead use PlatformMouseEvent's count?
// Same applied to dispatchMouseEvent() above.
- bool updatePointerTargetAndDispatchEvents(const AtomicString& mouseEventType, Node* target,
+ WebInputEventResult updatePointerTargetAndDispatchEvents(const AtomicString& mouseEventType, Node* target,
int clickCount, const PlatformMouseEvent&);
- bool dispatchDragEvent(const AtomicString& eventType, Node* target, const PlatformMouseEvent&, DataTransfer*);
+ WebInputEventResult dispatchDragEvent(const AtomicString& eventType, Node* target, const PlatformMouseEvent&, DataTransfer*);
void clearDragDataTransfer();
@@ -308,17 +309,17 @@ private:
bool tryStartDrag(const MouseEventWithHitTestResults&);
void clearDragState();
- bool dispatchDragSrcEvent(const AtomicString& eventType, const PlatformMouseEvent&);
+ WebInputEventResult dispatchDragSrcEvent(const AtomicString& eventType, const PlatformMouseEvent&);
bool dragHysteresisExceeded(const IntPoint&) const;
- bool passMousePressEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe);
- bool passMouseMoveEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe, HitTestResult* hoveredNode = nullptr);
- bool passMouseReleaseEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe);
+ WebInputEventResult passMousePressEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe);
+ WebInputEventResult passMouseMoveEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe, HitTestResult* hoveredNode = nullptr);
+ WebInputEventResult passMouseReleaseEventToSubframe(MouseEventWithHitTestResults&, LocalFrame* subframe);
bool passMousePressEventToScrollbar(MouseEventWithHitTestResults&);
- bool passWheelEventToWidget(const PlatformWheelEvent&, Widget&);
+ WebInputEventResult passWheelEventToWidget(const PlatformWheelEvent&, Widget&);
void defaultSpaceEventHandler(KeyboardEvent*);
void defaultBackspaceEventHandler(KeyboardEvent*);
void defaultTabEventHandler(KeyboardEvent*);
@@ -331,11 +332,11 @@ private:
bool capturesDragging() const { return m_capturesDragging; }
- bool handleGestureShowPress();
+ WebInputEventResult handleGestureShowPress();
bool handleScrollGestureOnResizer(Node*, const PlatformGestureEvent&);
- bool passScrollGestureEventToWidget(const PlatformGestureEvent&, LayoutObject*);
+ WebInputEventResult passScrollGestureEventToWidget(const PlatformGestureEvent&, LayoutObject*);
AutoscrollController* autoscrollController() const;
bool panScrollInProgress() const;
@@ -353,7 +354,7 @@ private:
void dispatchPointerEvents(const PlatformTouchEvent&, WillBeHeapVector<TouchInfo>&);
void sendPointerCancels(WillBeHeapVector<TouchInfo>&);
- bool dispatchTouchEvents(const PlatformTouchEvent&, WillBeHeapVector<TouchInfo>&, bool, bool);
+ WebInputEventResult dispatchTouchEvents(const PlatformTouchEvent&, WillBeHeapVector<TouchInfo>&, bool, bool);
// NOTE: If adding a new field to this class please ensure that it is
// cleared in |EventHandler::clear()|.

Powered by Google App Engine
This is Rietveld 408576698