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

Side by Side Diff: third_party/WebKit/Source/core/input/EventHandler.cpp

Issue 2771463002: Revert "Send click event after pointer capturing retarget" (Closed)
Patch Set: Created 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
5 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) 5 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies)
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 m_frame->localFrameRoot() 971 m_frame->localFrameRoot()
972 ->eventHandler() 972 ->eventHandler()
973 .m_lastMouseDownUserGestureToken.release())); 973 .m_lastMouseDownUserGestureToken.release()));
974 } else { 974 } else {
975 gestureIndicator = WTF::wrapUnique(new UserGestureIndicator( 975 gestureIndicator = WTF::wrapUnique(new UserGestureIndicator(
976 DocumentUserGestureToken::create(m_frame->document()))); 976 DocumentUserGestureToken::create(m_frame->document())));
977 } 977 }
978 978
979 WebInputEventResult eventResult = updatePointerTargetAndDispatchEvents( 979 WebInputEventResult eventResult = updatePointerTargetAndDispatchEvents(
980 EventTypeNames::mouseup, mev.innerNode(), mev.canvasRegionId(), 980 EventTypeNames::mouseup, mev.innerNode(), mev.canvasRegionId(),
981 mev.event(), Vector<WebMouseEvent>(), 981 mev.event(), Vector<WebMouseEvent>());
982 !(selectionController().hasExtendedSelection() && 982
983 isSelectionOverLink(mev))); 983 WebInputEventResult clickEventResult =
984 m_mouseEventManager->dispatchMouseClickIfNeeded(mev);
984 985
985 m_scrollManager->clearResizeScrollableArea(false); 986 m_scrollManager->clearResizeScrollableArea(false);
986 987
987 if (eventResult == WebInputEventResult::NotHandled) 988 if (eventResult == WebInputEventResult::NotHandled)
988 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev); 989 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev);
989 m_mouseEventManager->clearDragHeuristicState(); 990 m_mouseEventManager->clearDragHeuristicState();
990 991
991 m_mouseEventManager->invalidateClick(); 992 m_mouseEventManager->invalidateClick();
992 993
993 return eventResult; 994 return EventHandlingUtil::mergeEventResult(clickEventResult, eventResult);
994 } 995 }
995 996
996 static bool targetIsFrame(Node* target, LocalFrame*& frame) { 997 static bool targetIsFrame(Node* target, LocalFrame*& frame) {
997 if (!isHTMLFrameElementBase(target)) 998 if (!isHTMLFrameElementBase(target))
998 return false; 999 return false;
999 1000
1000 // Cross-process drag and drop is not yet supported. 1001 // Cross-process drag and drop is not yet supported.
1001 if (toHTMLFrameElementBase(target)->contentFrame() && 1002 if (toHTMLFrameElementBase(target)->contentFrame() &&
1002 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame()) 1003 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame())
1003 return false; 1004 return false;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 1211
1211 void EventHandler::elementRemoved(EventTarget* target) { 1212 void EventHandler::elementRemoved(EventTarget* target) {
1212 m_pointerEventManager->elementRemoved(target); 1213 m_pointerEventManager->elementRemoved(target);
1213 } 1214 }
1214 1215
1215 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents( 1216 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents(
1216 const AtomicString& mouseEventType, 1217 const AtomicString& mouseEventType,
1217 Node* targetNode, 1218 Node* targetNode,
1218 const String& canvasRegionId, 1219 const String& canvasRegionId,
1219 const WebMouseEvent& mouseEvent, 1220 const WebMouseEvent& mouseEvent,
1220 const Vector<WebMouseEvent>& coalescedEvents, 1221 const Vector<WebMouseEvent>& coalescedEvents) {
1221 bool selectionOverLink) {
1222 ASSERT(mouseEventType == EventTypeNames::mousedown || 1222 ASSERT(mouseEventType == EventTypeNames::mousedown ||
1223 mouseEventType == EventTypeNames::mousemove || 1223 mouseEventType == EventTypeNames::mousemove ||
1224 mouseEventType == EventTypeNames::mouseup); 1224 mouseEventType == EventTypeNames::mouseup);
1225 1225
1226 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent( 1226 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent(
1227 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType, 1227 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType,
1228 mouseEvent, coalescedEvents, selectionOverLink); 1228 mouseEvent, coalescedEvents);
1229 return eventResult; 1229 return eventResult;
1230 } 1230 }
1231 1231
1232 WebInputEventResult EventHandler::handleWheelEvent( 1232 WebInputEventResult EventHandler::handleWheelEvent(
1233 const WebMouseWheelEvent& event) { 1233 const WebMouseWheelEvent& event) {
1234 #if OS(MACOSX) 1234 #if OS(MACOSX)
1235 // Filter Mac OS specific phases, usually with a zero-delta. 1235 // Filter Mac OS specific phases, usually with a zero-delta.
1236 // https://crbug.com/553732 1236 // https://crbug.com/553732
1237 // TODO(chongz): EventSender sends events with 1237 // TODO(chongz): EventSender sends events with
1238 // |WebMouseWheelEvent::PhaseNone|, 1238 // |WebMouseWheelEvent::PhaseNone|,
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after
2094 } 2094 }
2095 2095
2096 FrameHost* EventHandler::frameHost() const { 2096 FrameHost* EventHandler::frameHost() const {
2097 if (!m_frame->page()) 2097 if (!m_frame->page())
2098 return nullptr; 2098 return nullptr;
2099 2099
2100 return &m_frame->page()->frameHost(); 2100 return &m_frame->page()->frameHost();
2101 } 2101 }
2102 2102
2103 } // namespace blink 2103 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/input/EventHandler.h ('k') | third_party/WebKit/Source/core/input/MouseEventManager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698