Commit c337404c authored by Peter Qiu's avatar Peter Qiu Committed by Commit Bot

extensions: guest_view: provide API to update default media access permission

This provides an ability to programmatically grant media access permission
for a guest view, which is a desired feature on certain devices.

Bug: b/78193883
Test: Build
Change-Id: If733c28125e4228a1c50baf11f9715c7d876da67
Reviewed-on: https://chromium-review.googlesource.com/1021599Reviewed-by: default avatarFady Samuel <fsamuel@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552926}
parent 02f1ffc4
...@@ -150,6 +150,7 @@ WebViewPermissionHelper::WebViewPermissionHelper(WebViewGuest* web_view_guest) ...@@ -150,6 +150,7 @@ WebViewPermissionHelper::WebViewPermissionHelper(WebViewGuest* web_view_guest)
: content::WebContentsObserver(web_view_guest->web_contents()), : content::WebContentsObserver(web_view_guest->web_contents()),
next_permission_request_id_(guest_view::kInstanceIDNone), next_permission_request_id_(guest_view::kInstanceIDNone),
web_view_guest_(web_view_guest), web_view_guest_(web_view_guest),
default_media_access_permission_(false),
weak_factory_(this) { weak_factory_(this) {
web_view_permission_helper_delegate_.reset( web_view_permission_helper_delegate_.reset(
ExtensionsAPIClient::Get()->CreateWebViewPermissionHelperDelegate( ExtensionsAPIClient::Get()->CreateWebViewPermissionHelperDelegate(
...@@ -202,7 +203,7 @@ void WebViewPermissionHelper::RequestMediaAccessPermission( ...@@ -202,7 +203,7 @@ void WebViewPermissionHelper::RequestMediaAccessPermission(
weak_factory_.GetWeakPtr(), weak_factory_.GetWeakPtr(),
request, request,
callback), callback),
false /* allowed_by_default */); default_media_access_permission_);
} }
bool WebViewPermissionHelper::CheckMediaAccessPermission( bool WebViewPermissionHelper::CheckMediaAccessPermission(
......
...@@ -119,6 +119,10 @@ class WebViewPermissionHelper ...@@ -119,6 +119,10 @@ class WebViewPermissionHelper
WebViewGuest* web_view_guest() { return web_view_guest_; } WebViewGuest* web_view_guest() { return web_view_guest_; }
void set_default_media_access_permission(bool allow_media_access) {
default_media_access_permission_ = allow_media_access;
}
private: private:
void OnMediaPermissionResponse(const content::MediaStreamRequest& request, void OnMediaPermissionResponse(const content::MediaStreamRequest& request,
const content::MediaResponseCallback& callback, const content::MediaResponseCallback& callback,
...@@ -142,6 +146,8 @@ class WebViewPermissionHelper ...@@ -142,6 +146,8 @@ class WebViewPermissionHelper
WebViewGuest* const web_view_guest_; WebViewGuest* const web_view_guest_;
bool default_media_access_permission_;
base::WeakPtrFactory<WebViewPermissionHelper> weak_factory_; base::WeakPtrFactory<WebViewPermissionHelper> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(WebViewPermissionHelper); DISALLOW_COPY_AND_ASSIGN(WebViewPermissionHelper);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment