| 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 4a88d4598398c243cde77a02e86ba1b3fd74ad95..f08c6abd29ad6d2d2b076335914bd6fc509c9310 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -1487,13 +1487,23 @@ WebInputEventResult EventHandler::handleMouseReleaseEvent(const PlatformMouseEve
|
| m_clickNode->updateDistribution();
|
| if (Node* clickTargetNode = mev.innerNode()->commonAncestor(
|
| *m_clickNode, parentForClickEvent)) {
|
| -
|
| // Dispatch mouseup directly w/o calling updateMouseEventTargetNodeAndSendEvents
|
| // because the mouseup dispatch above has already updated it
|
| // correctly. Moreover, clickTargetNode is different from
|
| // mev.innerNode at drag-release.
|
| - clickEventResult = toWebInputEventResult(clickTargetNode->dispatchMouseEvent(mev.event(),
|
| - EventTypeNames::click, m_clickCount));
|
| +
|
| + MouseEvent* event = MouseEvent::create(
|
| + EventTypeNames::click,
|
| + clickTargetNode->document().domWindow(),
|
| + mev.event(), m_clickCount, nullptr);
|
| +
|
| + // This is to suppress sending click events for non-primary buttons.
|
| + // But still doing default action like opening a new tab for middle
|
| + // click (crbug.com/255).
|
| + if (mev.event().button() != MouseButton::LeftButton)
|
| + event->stopPropagation();
|
| +
|
| + clickEventResult = toWebInputEventResult(clickTargetNode->dispatchEvent(event));
|
| }
|
| }
|
|
|
|
|