1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/shell/browser/shell_web_contents_view_delegate.h" 6 7 #include "base/command_line.h" 8 #include "content/public/browser/android/content_view_core.h" 9 #include "content/public/browser/web_contents.h" 10 #include "content/public/common/context_menu_params.h" 11 #include "content/shell/browser/shell_web_contents_view_delegate_creator.h" 12 13 namespace content { 14 15 WebContentsViewDelegate* CreateShellWebContentsViewDelegate( 16 WebContents* web_contents) { 17 return new ShellWebContentsViewDelegate(web_contents); 18 } 19 20 21 ShellWebContentsViewDelegate::ShellWebContentsViewDelegate( 22 WebContents* web_contents) 23 : web_contents_(web_contents) { 24 } 25 26 ShellWebContentsViewDelegate::~ShellWebContentsViewDelegate() { 27 } 28 29 void ShellWebContentsViewDelegate::ShowContextMenu( 30 RenderFrameHost* render_frame_host, 31 const ContextMenuParams& params) { 32 if (params.is_editable && params.selection_text.empty()) { 33 content::ContentViewCore* content_view_core = 34 ContentViewCore::FromWebContents(web_contents_); 35 if (content_view_core) { 36 content_view_core->ShowPastePopup(params.selection_start.x(), 37 params.selection_start.y()); 38 } 39 } 40 } 41 42 WebDragDestDelegate* ShellWebContentsViewDelegate::GetDragDestDelegate() { 43 return NULL; 44 } 45 46 } // namespace content 47