Index: third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
diff --git a/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp b/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
index 9ee7908429997bd101b086f9ee7adf0e858f6d18..bbd5e23e2590e8175e55d24bc8f2b2306ea0ca8b 100644 |
--- a/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
+++ b/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
@@ -7,14 +7,17 @@ |
#include "core/dom/DocumentUserGestureToken.h" |
#include "core/events/WebInputEventConversion.h" |
#include "core/exported/WebViewBase.h" |
+#include "core/frame/ContextMenuAllowedScope.h" |
#include "core/frame/FrameView.h" |
#include "core/frame/VisualViewport.h" |
#include "core/frame/WebLocalFrameBase.h" |
#include "core/input/EventHandler.h" |
+#include "core/page/ContextMenuController.h" |
#include "core/page/DragActions.h" |
#include "core/page/DragController.h" |
#include "core/page/DragData.h" |
#include "core/page/DragSession.h" |
+#include "core/page/FocusController.h" |
#include "core/page/Page.h" |
#include "core/page/PointerLockController.h" |
#include "platform/UserGestureIndicator.h" |
@@ -284,4 +287,17 @@ void WebFrameWidgetBase::PointerLockMouseEvent(const WebInputEvent& event) { |
} |
} |
+void WebFrameWidgetBase::ShowContextMenu() { |
+ if (!GetPage()) |
+ return; |
+ |
+ GetPage()->GetContextMenuController().ClearContextMenu(); |
+ { |
+ ContextMenuAllowedScope scope; |
+ if (LocalFrame* focused_frame = |
+ ToLocalFrame(GetPage()->GetFocusController().FocusedOrMainFrame())) |
+ focused_frame->GetEventHandler().SendContextMenuEventForKey(nullptr); |
+ } |
+} |
+ |
} // namespace blink |