| Index: third_party/WebKit/Source/core/input/EventHandler.cpp
|
| diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| index 4f8163d9dd5ffca42e4a9213fea3be8962e893ca..f64a9ea13886fd92f0a35d57b6c0f2969fc05c8e 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -652,10 +652,8 @@ WebInputEventResult EventHandler::HandleMousePressEvent(
|
| }
|
|
|
| mouse_event_manager_->SetClickCount(mouse_event.click_count);
|
| - mouse_event_manager_->SetClickNode(
|
| - mev.InnerNode()->IsTextNode()
|
| - ? FlatTreeTraversal::Parent(*mev.InnerNode())
|
| - : mev.InnerNode());
|
| + mouse_event_manager_->SetClickElement(
|
| + EventHandlingUtil::ParentElementIfNeeded(mev.InnerNode()));
|
|
|
| if (!mouse_event.FromTouch())
|
| frame_->Selection().SetCaretBlinkingSuspended(true);
|
| @@ -960,6 +958,8 @@ WebInputEventResult EventHandler::HandleMouseReleaseEvent(
|
| HitTestRequest request(hit_type);
|
| MouseEventWithHitTestResults mev =
|
| EventHandlingUtil::PerformMouseEventHitTest(frame_, request, mouse_event);
|
| + Element* mouse_release_target =
|
| + EventHandlingUtil::ParentElementIfNeeded(mev.InnerNode());
|
| LocalFrame* subframe =
|
| capturing_mouse_events_node_.Get()
|
| ? SubframeForTargetNode(capturing_mouse_events_node_.Get())
|
| @@ -992,7 +992,9 @@ WebInputEventResult EventHandler::HandleMouseReleaseEvent(
|
| mev.Event(), Vector<WebMouseEvent>());
|
|
|
| WebInputEventResult click_event_result =
|
| - mouse_event_manager_->DispatchMouseClickIfNeeded(mev);
|
| + mouse_release_target ? mouse_event_manager_->DispatchMouseClickIfNeeded(
|
| + mev, *mouse_release_target)
|
| + : WebInputEventResult::kNotHandled;
|
|
|
| scroll_manager_->ClearResizeScrollableArea(false);
|
|
|
|
|