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 #ifndef EXTENSIONS_SHELL_BROWSER_MEDIA_CAPTURE_UTIL_H_
      6 #define EXTENSIONS_SHELL_BROWSER_MEDIA_CAPTURE_UTIL_H_
      7 
      8 #include "base/macros.h"
      9 #include "content/public/common/media_stream_request.h"
     10 
     11 namespace content {
     12 class WebContents;
     13 }
     14 
     15 namespace extensions {
     16 
     17 class Extension;
     18 
     19 namespace media_capture_util {
     20 
     21 // Grants access to audio and video capture devices.
     22 // * If the caller requests specific device ids, grants access to those.
     23 // * If the caller does not request specific ids, grants access to the first
     24 //   available device.
     25 // Usually used as a helper for media capture ProcessMediaAccessRequest().
     26 void GrantMediaStreamRequest(content::WebContents* web_contents,
     27                              const content::MediaStreamRequest& request,
     28                              const content::MediaResponseCallback& callback,
     29                              const Extension* extension);
     30 
     31 // Verifies that the extension has permission for |type|. If not, crash.
     32 void VerifyMediaAccessPermission(content::MediaStreamType type,
     33                                  const Extension* extension);
     34 
     35 }  // namespace media_capture_util
     36 }  // namespace extensions
     37 
     38 #endif  // EXTENSIONS_SHELL_BROWSER_MEDIA_CAPTURE_UTIL_H_
     39