Chromium Code Reviews| 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 214e27b991c2abe945d477c968fd0ca33da13d81..adf15ea8274d3a1988841bd227a2f4d32b0609eb 100644 |
| --- a/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
| +++ b/third_party/WebKit/Source/core/frame/WebFrameWidgetBase.cpp |
| @@ -10,11 +10,14 @@ |
| #include "core/frame/LocalFrameView.h" |
| #include "core/frame/VisualViewport.h" |
| #include "core/frame/WebLocalFrameBase.h" |
| +#include "core/input/ContextMenuAllowedScope.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,19 @@ void WebFrameWidgetBase::PointerLockMouseEvent(const WebInputEvent& event) { |
| } |
| } |
| +void WebFrameWidgetBase::ShowContextMenu(WebMenuSourceType source_type) { |
| + if (!GetPage()) |
| + return; |
| + |
| + GetPage()->GetContextMenuController().ClearContextMenu(); |
| + { |
| + ContextMenuAllowedScope scope; |
| + if (LocalFrame* focused_frame = ToLocalFrame( |
| + GetPage()->GetFocusController().FocusedOrMainFrame())) { |
|
dcheng
2017/05/26 17:18:45
I think this should only be calling FocusedFrame()
|
| + focused_frame->GetEventHandler().ShowNonLocatedContextMenu(nullptr, |
| + source_type); |
| + } |
| + } |
| +} |
| + |
| } // namespace blink |