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 "extensions/shell/browser/shell_extension_host_delegate.h"
7 #include "base/logging.h"
8 #include "extensions/shell/browser/media_capture_util.h"
9 #include "extensions/shell/browser/shell_extension_web_contents_observer.h"
11 namespace extensions
{
13 ShellExtensionHostDelegate::ShellExtensionHostDelegate() {
16 ShellExtensionHostDelegate::~ShellExtensionHostDelegate() {
19 void ShellExtensionHostDelegate::OnExtensionHostCreated(
20 content::WebContents
* web_contents
) {
21 ShellExtensionWebContentsObserver::CreateForWebContents(web_contents
);
24 void ShellExtensionHostDelegate::OnRenderViewCreatedForBackgroundPage(
25 ExtensionHost
* host
) {
28 content::JavaScriptDialogManager
*
29 ShellExtensionHostDelegate::GetJavaScriptDialogManager() {
30 // TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
36 void ShellExtensionHostDelegate::CreateTab(content::WebContents
* web_contents
,
37 const std::string
& extension_id
,
38 WindowOpenDisposition disposition
,
39 const gfx::Rect
& initial_pos
,
41 // TODO(jamescook): Should app_shell support opening popup windows?
45 void ShellExtensionHostDelegate::ProcessMediaAccessRequest(
46 content::WebContents
* web_contents
,
47 const content::MediaStreamRequest
& request
,
48 const content::MediaResponseCallback
& callback
,
49 const Extension
* extension
) {
50 // Allow access to the microphone and/or camera.
51 media_capture_util::GrantMediaStreamRequest(
52 web_contents
, request
, callback
, extension
);
55 bool ShellExtensionHostDelegate::CheckMediaAccessPermission(
56 content::WebContents
* web_contents
,
57 const GURL
& security_origin
,
58 content::MediaStreamType type
,
59 const Extension
* extension
) {
60 media_capture_util::VerifyMediaAccessPermission(type
, extension
);
64 } // namespace extensions