shell_extension_host_delegate.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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 "extensions/shell/browser/shell_extension_host_delegate.h"
6
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"
10
11namespace extensions {
12
13ShellExtensionHostDelegate::ShellExtensionHostDelegate() {
14}
15
16ShellExtensionHostDelegate::~ShellExtensionHostDelegate() {
17}
18
19void ShellExtensionHostDelegate::OnExtensionHostCreated(
20    content::WebContents* web_contents) {
21  ShellExtensionWebContentsObserver::CreateForWebContents(web_contents);
22}
23
24void ShellExtensionHostDelegate::OnRenderViewCreatedForBackgroundPage(
25    ExtensionHost* host) {
26}
27
28content::JavaScriptDialogManager*
29ShellExtensionHostDelegate::GetJavaScriptDialogManager() {
30  // TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
31  // content_shell.
32  NOTREACHED();
33  return NULL;
34}
35
36void ShellExtensionHostDelegate::CreateTab(content::WebContents* web_contents,
37                                           const std::string& extension_id,
38                                           WindowOpenDisposition disposition,
39                                           const gfx::Rect& initial_pos,
40                                           bool user_gesture) {
41  // TODO(jamescook): Should app_shell support opening popup windows?
42  NOTREACHED();
43}
44
45void 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);
53}
54
55bool 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);
61  return true;
62}
63
64}  // namespace extensions
65