| 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 960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |