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.
5 #include "chrome/browser/extensions/chrome_extension_host_delegate.h"
7 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/extensions/extension_tab_util.h"
10 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
11 #include "chrome/browser/ui/app_modal_dialogs/javascript_dialog_manager.h"
12 #include "chrome/browser/ui/prefs/prefs_tab_helper.h"
13 #include "extensions/browser/extension_host.h"
14 #include "extensions/browser/extension_system.h"
16 namespace extensions
{
18 ChromeExtensionHostDelegate::ChromeExtensionHostDelegate() {}
20 ChromeExtensionHostDelegate::~ChromeExtensionHostDelegate() {}
22 void ChromeExtensionHostDelegate::OnExtensionHostCreated(
23 content::WebContents
* web_contents
) {
24 ChromeExtensionWebContentsObserver::CreateForWebContents(web_contents
);
25 PrefsTabHelper::CreateForWebContents(web_contents
);
28 void ChromeExtensionHostDelegate::OnRenderViewCreatedForBackgroundPage(
29 ExtensionHost
* host
) {
30 ExtensionService
* service
=
31 ExtensionSystem::Get(host
->browser_context())->extension_service();
33 service
->DidCreateRenderViewForBackgroundPage(host
);
36 content::JavaScriptDialogManager
*
37 ChromeExtensionHostDelegate::GetJavaScriptDialogManager() {
38 return GetJavaScriptDialogManagerInstance();
41 void ChromeExtensionHostDelegate::CreateTab(content::WebContents
* web_contents
,
42 const std::string
& extension_id
,
43 WindowOpenDisposition disposition
,
44 const gfx::Rect
& initial_pos
,
46 ExtensionTabUtil::CreateTab(
47 web_contents
, extension_id
, disposition
, initial_pos
, user_gesture
);
50 void ChromeExtensionHostDelegate::ProcessMediaAccessRequest(
51 content::WebContents
* web_contents
,
52 const content::MediaStreamRequest
& request
,
53 const content::MediaResponseCallback
& callback
,
54 const Extension
* extension
) {
55 MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
56 web_contents
, request
, callback
, extension
);
59 } // namespace extensions