Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 953 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 964 m_frame->localFrameRoot() | 964 m_frame->localFrameRoot() |
| 965 ->eventHandler() | 965 ->eventHandler() |
| 966 .m_lastMouseDownUserGestureToken.release())); | 966 .m_lastMouseDownUserGestureToken.release())); |
| 967 } else { | 967 } else { |
| 968 gestureIndicator = WTF::wrapUnique(new UserGestureIndicator( | 968 gestureIndicator = WTF::wrapUnique(new UserGestureIndicator( |
| 969 DocumentUserGestureToken::create(m_frame->document()))); | 969 DocumentUserGestureToken::create(m_frame->document()))); |
| 970 } | 970 } |
| 971 | 971 |
| 972 WebInputEventResult eventResult = updatePointerTargetAndDispatchEvents( | 972 WebInputEventResult eventResult = updatePointerTargetAndDispatchEvents( |
| 973 EventTypeNames::mouseup, mev.innerNode(), mev.canvasRegionId(), | 973 EventTypeNames::mouseup, mev.innerNode(), mev.canvasRegionId(), |
| 974 mev.event(), Vector<WebMouseEvent>()); | 974 mev.event(), Vector<WebMouseEvent>(), |
| 975 | 975 !(selectionController().hasExtendedSelection() && isLinkSelection(mev))); |
| 976 WebInputEventResult clickEventResult = | |
| 977 m_mouseEventManager->dispatchMouseClickIfNeeded(mev); | |
| 978 | 976 |
| 979 m_scrollManager->clearResizeScrollableArea(false); | 977 m_scrollManager->clearResizeScrollableArea(false); |
| 980 | 978 |
| 981 if (eventResult == WebInputEventResult::NotHandled) | 979 if (eventResult == WebInputEventResult::NotHandled) |
| 982 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev); | 980 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev); |
| 983 m_mouseEventManager->clearDragHeuristicState(); | 981 m_mouseEventManager->clearDragHeuristicState(); |
| 984 | 982 |
| 985 m_mouseEventManager->invalidateClick(); | 983 m_mouseEventManager->invalidateClick(); |
| 986 | 984 |
| 987 return EventHandlingUtil::mergeEventResult(clickEventResult, eventResult); | 985 return eventResult; |
| 988 } | 986 } |
| 989 | 987 |
| 990 static bool targetIsFrame(Node* target, LocalFrame*& frame) { | 988 static bool targetIsFrame(Node* target, LocalFrame*& frame) { |
| 991 if (!isHTMLFrameElementBase(target)) | 989 if (!isHTMLFrameElementBase(target)) |
| 992 return false; | 990 return false; |
| 993 | 991 |
| 994 // Cross-process drag and drop is not yet supported. | 992 // Cross-process drag and drop is not yet supported. |
| 995 if (toHTMLFrameElementBase(target)->contentFrame() && | 993 if (toHTMLFrameElementBase(target)->contentFrame() && |
| 996 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame()) | 994 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame()) |
| 997 return false; | 995 return false; |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1252 | 1250 |
| 1253 void EventHandler::elementRemoved(EventTarget* target) { | 1251 void EventHandler::elementRemoved(EventTarget* target) { |
| 1254 m_pointerEventManager->elementRemoved(target); | 1252 m_pointerEventManager->elementRemoved(target); |
| 1255 } | 1253 } |
| 1256 | 1254 |
| 1257 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents( | 1255 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents( |
| 1258 const AtomicString& mouseEventType, | 1256 const AtomicString& mouseEventType, |
| 1259 Node* targetNode, | 1257 Node* targetNode, |
| 1260 const String& canvasRegionId, | 1258 const String& canvasRegionId, |
| 1261 const WebMouseEvent& mouseEvent, | 1259 const WebMouseEvent& mouseEvent, |
| 1262 const Vector<WebMouseEvent>& coalescedEvents) { | 1260 const Vector<WebMouseEvent>& coalescedEvents, |
| 1261 bool sendClickIfNeeded) { | |
|
mustaq
2017/02/10 21:16:53
Can the name |sendClickIfNeeded| be more specific
| |
| 1263 ASSERT(mouseEventType == EventTypeNames::mousedown || | 1262 ASSERT(mouseEventType == EventTypeNames::mousedown || |
| 1264 mouseEventType == EventTypeNames::mousemove || | 1263 mouseEventType == EventTypeNames::mousemove || |
| 1265 mouseEventType == EventTypeNames::mouseup); | 1264 mouseEventType == EventTypeNames::mouseup); |
| 1266 | 1265 |
| 1267 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent( | 1266 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent( |
| 1268 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType, | 1267 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType, |
| 1269 mouseEvent, coalescedEvents); | 1268 mouseEvent, coalescedEvents, sendClickIfNeeded); |
| 1270 return eventResult; | 1269 return eventResult; |
| 1271 } | 1270 } |
| 1272 | 1271 |
| 1273 WebInputEventResult EventHandler::handleWheelEvent( | 1272 WebInputEventResult EventHandler::handleWheelEvent( |
| 1274 const WebMouseWheelEvent& event) { | 1273 const WebMouseWheelEvent& event) { |
| 1275 #if OS(MACOSX) | 1274 #if OS(MACOSX) |
| 1276 // Filter Mac OS specific phases, usually with a zero-delta. | 1275 // Filter Mac OS specific phases, usually with a zero-delta. |
| 1277 // https://crbug.com/553732 | 1276 // https://crbug.com/553732 |
| 1278 // TODO(chongz): EventSender sends events with | 1277 // TODO(chongz): EventSender sends events with |
| 1279 // |WebMouseWheelEvent::PhaseNone|, | 1278 // |WebMouseWheelEvent::PhaseNone|, |
| (...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2131 } | 2130 } |
| 2132 | 2131 |
| 2133 FrameHost* EventHandler::frameHost() const { | 2132 FrameHost* EventHandler::frameHost() const { |
| 2134 if (!m_frame->page()) | 2133 if (!m_frame->page()) |
| 2135 return nullptr; | 2134 return nullptr; |
| 2136 | 2135 |
| 2137 return &m_frame->page()->frameHost(); | 2136 return &m_frame->page()->frameHost(); |
| 2138 } | 2137 } |
| 2139 | 2138 |
| 2140 } // namespace blink | 2139 } // namespace blink |
| OLD | NEW |