Home | History | Annotate | Download | only in browser
      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 }  // namespace content
     43