Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / guest_view / extension_options / chrome_extension_options_guest_delegate.cc
1 // Copyright 2014 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 "chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h"
6
7 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
8 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_finder.h"
11 #include "components/renderer_context_menu/context_menu_delegate.h"
12 #include "extensions/browser/guest_view/extension_options/extension_options_guest.h"
13
14 namespace extensions {
15
16 ChromeExtensionOptionsGuestDelegate::ChromeExtensionOptionsGuestDelegate(
17     ExtensionOptionsGuest* guest)
18     : ExtensionOptionsGuestDelegate(guest) {
19 }
20
21 ChromeExtensionOptionsGuestDelegate::~ChromeExtensionOptionsGuestDelegate() {
22 }
23
24 void ChromeExtensionOptionsGuestDelegate::DidInitialize() {
25   ChromeExtensionWebContentsObserver::CreateForWebContents(
26       extension_options_guest()->web_contents());
27 }
28
29 bool ChromeExtensionOptionsGuestDelegate::HandleContextMenu(
30     const content::ContextMenuParams& params) {
31   ContextMenuDelegate* menu_delegate = ContextMenuDelegate::FromWebContents(
32       extension_options_guest()->web_contents());
33   DCHECK(menu_delegate);
34
35   scoped_ptr<RenderViewContextMenuBase> menu = menu_delegate->BuildMenu(
36       extension_options_guest()->web_contents(), params);
37   menu_delegate->ShowMenu(menu.Pass());
38   return true;
39 }
40
41 content::WebContents* ChromeExtensionOptionsGuestDelegate::OpenURLInNewTab(
42     const content::OpenURLParams& params) {
43   Browser* browser = chrome::FindBrowserWithWebContents(
44       extension_options_guest()->embedder_web_contents());
45   return browser->OpenURL(params);
46 }
47
48 }  // namespace extensions