| 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 | 982 !(selectionController().hasExtendedSelection() && |
| 983 WebInputEventResult clickEventResult = | 983 isSelectionOverLink(mev))); |
| 984 m_mouseEventManager->dispatchMouseClickIfNeeded(mev); | |
| 985 | 984 |
| 986 m_scrollManager->clearResizeScrollableArea(false); | 985 m_scrollManager->clearResizeScrollableArea(false); |
| 987 | 986 |
| 988 if (eventResult == WebInputEventResult::NotHandled) | 987 if (eventResult == WebInputEventResult::NotHandled) |
| 989 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev); | 988 eventResult = m_mouseEventManager->handleMouseReleaseEvent(mev); |
| 990 m_mouseEventManager->clearDragHeuristicState(); | 989 m_mouseEventManager->clearDragHeuristicState(); |
| 991 | 990 |
| 992 m_mouseEventManager->invalidateClick(); | 991 m_mouseEventManager->invalidateClick(); |
| 993 | 992 |
| 994 return EventHandlingUtil::mergeEventResult(clickEventResult, eventResult); | 993 return eventResult; |
| 995 } | 994 } |
| 996 | 995 |
| 997 static bool targetIsFrame(Node* target, LocalFrame*& frame) { | 996 static bool targetIsFrame(Node* target, LocalFrame*& frame) { |
| 998 if (!isHTMLFrameElementBase(target)) | 997 if (!isHTMLFrameElementBase(target)) |
| 999 return false; | 998 return false; |
| 1000 | 999 |
| 1001 // Cross-process drag and drop is not yet supported. | 1000 // Cross-process drag and drop is not yet supported. |
| 1002 if (toHTMLFrameElementBase(target)->contentFrame() && | 1001 if (toHTMLFrameElementBase(target)->contentFrame() && |
| 1003 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame()) | 1002 !toHTMLFrameElementBase(target)->contentFrame()->isLocalFrame()) |
| 1004 return false; | 1003 return false; |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 | 1258 |
| 1260 void EventHandler::elementRemoved(EventTarget* target) { | 1259 void EventHandler::elementRemoved(EventTarget* target) { |
| 1261 m_pointerEventManager->elementRemoved(target); | 1260 m_pointerEventManager->elementRemoved(target); |
| 1262 } | 1261 } |
| 1263 | 1262 |
| 1264 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents( | 1263 WebInputEventResult EventHandler::updatePointerTargetAndDispatchEvents( |
| 1265 const AtomicString& mouseEventType, | 1264 const AtomicString& mouseEventType, |
| 1266 Node* targetNode, | 1265 Node* targetNode, |
| 1267 const String& canvasRegionId, | 1266 const String& canvasRegionId, |
| 1268 const WebMouseEvent& mouseEvent, | 1267 const WebMouseEvent& mouseEvent, |
| 1269 const Vector<WebMouseEvent>& coalescedEvents) { | 1268 const Vector<WebMouseEvent>& coalescedEvents, |
| 1269 bool selectionOverLink) { |
| 1270 ASSERT(mouseEventType == EventTypeNames::mousedown || | 1270 ASSERT(mouseEventType == EventTypeNames::mousedown || |
| 1271 mouseEventType == EventTypeNames::mousemove || | 1271 mouseEventType == EventTypeNames::mousemove || |
| 1272 mouseEventType == EventTypeNames::mouseup); | 1272 mouseEventType == EventTypeNames::mouseup); |
| 1273 | 1273 |
| 1274 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent( | 1274 const auto& eventResult = m_pointerEventManager->sendMousePointerEvent( |
| 1275 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType, | 1275 updateMouseEventTargetNode(targetNode), canvasRegionId, mouseEventType, |
| 1276 mouseEvent, coalescedEvents); | 1276 mouseEvent, coalescedEvents, selectionOverLink); |
| 1277 return eventResult; | 1277 return eventResult; |
| 1278 } | 1278 } |
| 1279 | 1279 |
| 1280 WebInputEventResult EventHandler::handleWheelEvent( | 1280 WebInputEventResult EventHandler::handleWheelEvent( |
| 1281 const WebMouseWheelEvent& event) { | 1281 const WebMouseWheelEvent& event) { |
| 1282 #if OS(MACOSX) | 1282 #if OS(MACOSX) |
| 1283 // Filter Mac OS specific phases, usually with a zero-delta. | 1283 // Filter Mac OS specific phases, usually with a zero-delta. |
| 1284 // https://crbug.com/553732 | 1284 // https://crbug.com/553732 |
| 1285 // TODO(chongz): EventSender sends events with | 1285 // TODO(chongz): EventSender sends events with |
| 1286 // |WebMouseWheelEvent::PhaseNone|, | 1286 // |WebMouseWheelEvent::PhaseNone|, |
| (...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2142 } | 2142 } |
| 2143 | 2143 |
| 2144 FrameHost* EventHandler::frameHost() const { | 2144 FrameHost* EventHandler::frameHost() const { |
| 2145 if (!m_frame->page()) | 2145 if (!m_frame->page()) |
| 2146 return nullptr; | 2146 return nullptr; |
| 2147 | 2147 |
| 2148 return &m_frame->page()->frameHost(); | 2148 return &m_frame->page()->frameHost(); |
| 2149 } | 2149 } |
| 2150 | 2150 |
| 2151 } // namespace blink | 2151 } // namespace blink |
| OLD | NEW |