| 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 cc58b44a8e10ad145b64a0c1093cc3dbf17af8be..adecd14afcf1ef8c51a06491bb4f611721f370ee 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -1155,16 +1155,18 @@ WebInputEventResult EventHandler::handleMouseReleaseEvent(const PlatformMouseEve
|
|
|
| WebInputEventResult eventResult = updatePointerTargetAndDispatchEvents(EventTypeNames::mouseup, mev.innerNode(), m_clickCount, mev.event());
|
|
|
| - bool contextMenuEvent = mouseEvent.button() == RightButton;
|
| + // We only prevent click event when the click may cause contextmenu to popup.
|
| + // However, we always send auxclick.
|
| + bool macContextMenuEvent = false;
|
| #if OS(MACOSX)
|
| // FIXME: The Mac port achieves the same behavior by checking whether the context menu is currently open in WebPage::mouseEvent(). Consider merging the implementations.
|
| if (mouseEvent.button() == LeftButton && mouseEvent.getModifiers() & PlatformEvent::CtrlKey)
|
| - contextMenuEvent = true;
|
| + macContextMenuEvent = true;
|
| #endif
|
|
|
| WebInputEventResult clickEventResult = WebInputEventResult::NotHandled;
|
| const bool shouldDispatchClickEvent = m_clickCount > 0
|
| - && !contextMenuEvent
|
| + && !macContextMenuEvent
|
| && mev.innerNode() && m_clickNode
|
| && mev.innerNode()->canParticipateInFlatTree() && m_clickNode->canParticipateInFlatTree()
|
| && !(selectionController().hasExtendedSelection() && isLinkSelection(mev));
|
| @@ -1188,7 +1190,10 @@ WebInputEventResult EventHandler::handleMouseReleaseEvent(const PlatformMouseEve
|
| // correctly. Moreover, clickTargetNode is different from
|
| // mev.innerNode at drag-release.
|
| clickEventResult = toWebInputEventResult(clickTargetNode->dispatchMouseEvent(mev.event(),
|
| - EventTypeNames::click, m_clickCount));
|
| + !RuntimeEnabledFeatures::auxclickEnabled() || (mev.event().button() == MouseButton::LeftButton)
|
| + ? EventTypeNames::click
|
| + : EventTypeNames::auxclick,
|
| + m_clickCount));
|
| }
|
| }
|
|
|
|
|