Home | History | Annotate | Download | only in browser
      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 
     11 namespace extensions {
     12 
     13 ShellExtensionHostDelegate::ShellExtensionHostDelegate() {
     14 }
     15 
     16 ShellExtensionHostDelegate::~ShellExtensionHostDelegate() {
     17 }
     18 
     19 void ShellExtensionHostDelegate::OnExtensionHostCreated(
     20     content::WebContents* web_contents) {
     21   ShellExtensionWebContentsObserver::CreateForWebContents(web_contents);
     22 }
     23 
     24 void ShellExtensionHostDelegate::OnRenderViewCreatedForBackgroundPage(
     25     ExtensionHost* host) {
     26 }
     27 
     28 content::JavaScriptDialogManager*
     29 ShellExtensionHostDelegate::GetJavaScriptDialogManager() {
     30   // TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
     31   // content_shell.
     32   NOTREACHED();
     33   return NULL;
     34 }
     35 
     36 void 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 
     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);
     53 }
     54 
     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);
     61   return true;
     62 }
     63 
     64 }  // namespace extensions
     65