diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/browser/image_capture | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/browser/image_capture')
-rw-r--r-- | chromium/content/browser/image_capture/image_capture_impl.cc | 46 |
1 files changed, 13 insertions, 33 deletions
diff --git a/chromium/content/browser/image_capture/image_capture_impl.cc b/chromium/content/browser/image_capture/image_capture_impl.cc index 0469a4342d2..325eba6cf1e 100644 --- a/chromium/content/browser/image_capture/image_capture_impl.cc +++ b/chromium/content/browser/image_capture/image_capture_impl.cc @@ -8,20 +8,16 @@ #include "base/bind.h" #include "base/bind_helpers.h" -#include "base/command_line.h" -#include "base/task/post_task.h" #include "base/unguessable_token.h" -#include "build/build_config.h" #include "content/browser/browser_main_loop.h" +#include "content/browser/media/media_devices_permission_checker.h" #include "content/browser/renderer_host/media/media_stream_manager.h" #include "content/browser/renderer_host/media/video_capture_manager.h" -#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" -#include "content/public/browser/permission_controller.h" -#include "content/public/browser/web_contents.h" +#include "content/public/browser/render_frame_host.h" +#include "content/public/browser/render_process_host.h" #include "content/public/common/content_features.h" -#include "content/public/common/content_switches.h" #include "media/base/bind_to_current_loop.h" #include "media/capture/mojom/image_capture_types.h" #include "media/capture/video/video_capture_device.h" @@ -103,8 +99,8 @@ void ImageCaptureImpl::GetPhotoState(const std::string& source_id, base::BindOnce(&ImageCaptureImpl::OnGetPhotoState, weak_factory_.GetWeakPtr(), std::move(callback))), mojo::CreateEmptyPhotoState()); - base::PostTask( - FROM_HERE, {BrowserThread::IO}, + GetIOThreadTaskRunner({})->PostTask( + FROM_HERE, base::BindOnce(&GetPhotoStateOnIOThread, source_id, BrowserMainLoop::GetInstance()->media_stream_manager(), std::move(scoped_callback))); @@ -129,8 +125,8 @@ void ImageCaptureImpl::SetOptions(const std::string& source_id, SetOptionsCallback scoped_callback = mojo::WrapCallbackWithDefaultInvokeIfNotRun( media::BindToCurrentLoop(std::move(callback)), false); - base::PostTask( - FROM_HERE, {BrowserThread::IO}, + GetIOThreadTaskRunner({})->PostTask( + FROM_HERE, base::BindOnce(&SetOptionsOnIOThread, source_id, BrowserMainLoop::GetInstance()->media_stream_manager(), std::move(settings), std::move(scoped_callback))); @@ -147,8 +143,8 @@ void ImageCaptureImpl::TakePhoto(const std::string& source_id, mojo::WrapCallbackWithDefaultInvokeIfNotRun( media::BindToCurrentLoop(std::move(callback)), media::mojom::Blob::New()); - base::PostTask( - FROM_HERE, {BrowserThread::IO}, + GetIOThreadTaskRunner({})->PostTask( + FROM_HERE, base::BindOnce(&TakePhotoOnIOThread, source_id, BrowserMainLoop::GetInstance()->media_stream_manager(), std::move(scoped_callback))); @@ -176,26 +172,10 @@ void ImageCaptureImpl::OnGetPhotoState(GetPhotoStateCallback callback, bool ImageCaptureImpl::HasPanTiltZoomPermissionGranted() { DCHECK_CURRENTLY_ON(BrowserThread::UI); -#if defined(OS_ANDROID) - // Camera PTZ is desktop only at the moment. - return true; -#else - if (!base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableExperimentalWebPlatformFeatures)) { - return false; - } - - auto* web_contents = WebContents::FromRenderFrameHost(render_frame_host()); - auto* permission_controller = BrowserContext::GetPermissionController( - web_contents->GetBrowserContext()); - DCHECK(permission_controller); - - blink::mojom::PermissionStatus status = - permission_controller->GetPermissionStatusForFrame( - PermissionType::CAMERA_PAN_TILT_ZOOM, render_frame_host(), - origin().GetURL()); - return status == blink::mojom::PermissionStatus::GRANTED; -#endif + return MediaDevicesPermissionChecker:: + HasPanTiltZoomPermissionGrantedOnUIThread( + render_frame_host()->GetProcess()->GetID(), + render_frame_host()->GetRoutingID()); } } // namespace content |