shell_web_contents_view_delegate_android.cc revision 3551c9c881056c480085172ff9840cab31610854
13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
53551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "content/shell/browser/shell_web_contents_view_delegate.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/command_line.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/browser/android/content_view_core.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/browser/web_contents.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/browser/web_contents_view.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/common/context_menu_params.h"
123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "content/shell/browser/shell_web_contents_view_delegate_creator.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace content {
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)WebContentsViewDelegate* CreateShellWebContentsViewDelegate(
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    WebContents* web_contents) {
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return new ShellWebContentsViewDelegate(web_contents);
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ShellWebContentsViewDelegate::ShellWebContentsViewDelegate(
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    WebContents* web_contents)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : web_contents_(web_contents) {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ShellWebContentsViewDelegate::~ShellWebContentsViewDelegate() {
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void ShellWebContentsViewDelegate::ShowContextMenu(
317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    const ContextMenuParams& params) {
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (params.is_editable && params.selection_text.empty()) {
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    content::ContentViewCore* content_view_core =
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        ContentViewCore::FromWebContents(web_contents_);
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    if (content_view_core) {
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      content_view_core->ShowPastePopup(params.selection_start.x(),
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                        params.selection_start.y());
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)WebDragDestDelegate* ShellWebContentsViewDelegate::GetDragDestDelegate() {
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace content
47