| 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..855ade185c346c4cd080cd5378f08f3768535b5c 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,10 @@ bool WebViewPermissionHelper::CheckMediaAccessPermission(
|
| content::WebContents* source,
|
| const GURL& security_origin,
|
| content::MediaStreamType type) {
|
| + if (!web_view_guest()->attached() ||
|
| + !web_view_guest()->embedder_web_contents()->GetDelegate()) {
|
| + return false;
|
| + }
|
| return web_view_guest()
|
| ->embedder_web_contents()
|
| ->GetDelegate()
|
| @@ -208,15 +212,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()
|
|
|