Chromium Code Reviews| Index: android_webview/native/aw_web_contents_delegate.cc |
| diff --git a/android_webview/native/aw_web_contents_delegate.cc b/android_webview/native/aw_web_contents_delegate.cc |
| index 3c5c40efa238c8cbfb98b35553acad77e066347a..c3c941e3f6669d8b2734f22ae7b78ac396a33e6d 100644 |
| --- a/android_webview/native/aw_web_contents_delegate.cc |
| +++ b/android_webview/native/aw_web_contents_delegate.cc |
| @@ -8,6 +8,8 @@ |
| #include "android_webview/browser/find_helper.h" |
| #include "android_webview/native/aw_contents.h" |
| #include "android_webview/native/aw_contents_io_thread_client_impl.h" |
| +#include "android_webview/native/permission/media_access_permission_request.h" |
| +#include "android_webview/native/permission/permission_request_handler.h" |
| #include "base/android/jni_array.h" |
| #include "base/android/jni_string.h" |
| #include "base/android/scoped_java_ref.h" |
| @@ -18,6 +20,7 @@ |
| #include "content/public/browser/render_view_host.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/common/file_chooser_params.h" |
| +#include "content/public/common/media_stream_request.h" |
| #include "jni/AwWebContentsDelegate_jni.h" |
| #include "ui/shell_dialogs/selected_file_info.h" |
| @@ -188,6 +191,25 @@ void AwWebContentsDelegate::ActivateContents(WebContents* contents) { |
| } |
| } |
| +void AwWebContentsDelegate::RequestMediaAccessPermission( |
| + WebContents* web_contents, |
| + const content::MediaStreamRequest& request, |
| + const content::MediaResponseCallback& callback) { |
| + AwContents* aw_contents = AwContents::FromWebContents(web_contents); |
| + if (!aw_contents) { |
| + callback.Run(content::MediaStreamDevices(), |
| + content::MEDIA_DEVICE_INVALID_STATE, |
| + scoped_ptr<content::MediaStreamUI>().Pass()); |
| + return; |
| + } |
| + |
| + // AwPermissionRequest owns the MediaAccessPermissionRequest. |
| + scoped_refptr<AwPermissionRequest> permission_request = |
| + new AwPermissionRequest(new MediaAccessPermissionRequest(request, |
| + callback)); |
| + aw_contents->GetPermissionRequestHandler()->SendRequest(permission_request); |
|
mkosiba (inactive)
2014/04/17 10:34:06
could the PermissionRequestHandler be a member of
michaelbai
2014/04/22 20:53:51
Considering about the geolocation implementation,
mkosiba (inactive)
2014/04/23 18:04:40
ok. thanks for the explanation!
|
| +} |
| + |
| static void FilesSelectedInChooser( |
| JNIEnv* env, jclass clazz, |
| jint process_id, jint render_id, jint mode_flags, |