| Index: chrome/browser/media/webrtc/media_stream_devices_controller.h
|
| diff --git a/chrome/browser/media/webrtc/media_stream_devices_controller.h b/chrome/browser/media/webrtc/media_stream_devices_controller.h
|
| index 2cc3427644e95c48a55bf23be090f820ade14623..0e50282e8a18eeb9e66d393d998db9820f1ba28a 100644
|
| --- a/chrome/browser/media/webrtc/media_stream_devices_controller.h
|
| +++ b/chrome/browser/media/webrtc/media_stream_devices_controller.h
|
| @@ -69,6 +69,23 @@ class MediaStreamDevicesController : public PermissionRequest {
|
| friend class MediaStreamDevicesControllerTest;
|
| friend class policy::MediaStreamDevicesControllerBrowserTest;
|
|
|
| + // Delegate showing permission prompts.
|
| + class PermissionPromptDelegate {
|
| + public:
|
| + virtual void ShowPrompt(
|
| + bool user_gesture,
|
| + content::WebContents* web_contents,
|
| + std::unique_ptr<MediaStreamDevicesController> controller) = 0;
|
| + };
|
| +
|
| + class PermissionPromptDelegateImpl;
|
| +
|
| + static void RequestPermissionsWithDelegate(
|
| + content::WebContents* web_contents,
|
| + const content::MediaStreamRequest& request,
|
| + const content::MediaResponseCallback& callback,
|
| + PermissionPromptDelegate* delegate);
|
| +
|
| MediaStreamDevicesController(content::WebContents* web_contents,
|
| const content::MediaStreamRequest& request,
|
| const content::MediaResponseCallback& callback);
|
| @@ -139,6 +156,8 @@ class MediaStreamDevicesController : public PermissionRequest {
|
| // audio/video devices was granted or not.
|
| content::MediaResponseCallback callback_;
|
|
|
| + std::unique_ptr<PermissionPromptDelegate> delegate_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MediaStreamDevicesController);
|
| };
|
|
|
|
|