Chromium Code Reviews| Index: extensions/browser/guest_view/web_view/web_view_permission_helper.cc |
| diff --git a/extensions/browser/guest_view/web_view/web_view_permission_helper.cc b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc |
| index c99eddea501c7783d193dcc4b24678d1f3527f19..44cad315d5c5adbf9ad905ae6a10c6c0acc91a67 100644 |
| --- a/extensions/browser/guest_view/web_view/web_view_permission_helper.cc |
| +++ b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc |
| @@ -196,6 +196,8 @@ bool WebViewPermissionHelper::CheckMediaAccessPermission( |
| content::WebContents* source, |
| const GURL& security_origin, |
| content::MediaStreamType type) { |
| + if (!web_view_guest()->embedder_web_contents()->GetDelegate()) |
|
Fady Samuel
2014/09/24 19:27:03
Please check for attached() first (this means we d
Henrik Grunell
2014/09/24 19:40:18
Done.
|
| + return false; |
| return web_view_guest() |
| ->embedder_web_contents() |
| ->GetDelegate() |
| @@ -208,15 +210,19 @@ void WebViewPermissionHelper::OnMediaPermissionResponse( |
| const content::MediaResponseCallback& callback, |
| bool allow, |
| const std::string& user_input) { |
| - if (!allow || !web_view_guest()->attached()) { |
| - // Deny the request. |
| + if (!allow) { |
| callback.Run(content::MediaStreamDevices(), |
| - content::MEDIA_DEVICE_INVALID_STATE, |
| + content::MEDIA_DEVICE_PERMISSION_DENIED, |
| scoped_ptr<content::MediaStreamUI>()); |
| return; |
| } |
| - if (!web_view_guest()->embedder_web_contents()->GetDelegate()) |
| + if (!web_view_guest()->attached() || |
| + !web_view_guest()->embedder_web_contents()->GetDelegate()) { |
| + callback.Run(content::MediaStreamDevices(), |
| + content::MEDIA_DEVICE_INVALID_STATE, |
| + scoped_ptr<content::MediaStreamUI>()); |
| return; |
| + } |
| web_view_guest() |
| ->embedder_web_contents() |