diff options
author | Martin Negyokru <negyokru@inf.u-szeged.hu> | 2022-11-04 10:55:58 +0100 |
---|---|---|
committer | Martin Negyokru <negyokru@inf.u-szeged.hu> | 2023-12-15 09:39:26 +0100 |
commit | de57e1b0b00be63e0647d864ff48b9c75742423d (patch) | |
tree | 639eb11f6ae7ab3abe32130fdfa4981402c95aef /src/core/media_capture_devices_dispatcher.h | |
parent | 39e437f0bc990cf292defff0d77790d27b31df32 (diff) |
Add new API for screen capturing
[ChangeLog][WebEngineCore] Add QWebEnginePage::desktopMediaRequested() signal
[ChangeLog][WebEngineQuick] Add QQuickWebEngineView::desktopMediaRequested() signal
Pick-to: 6.7
Fixes: QTBUG-112142
Task-number: QTBUG-70077
Change-Id: I4bfad88732b45fb68b77f7617440bcb50b248a11
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/media_capture_devices_dispatcher.h')
-rw-r--r-- | src/core/media_capture_devices_dispatcher.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h index 37f41901b..2b6bb98d8 100644 --- a/src/core/media_capture_devices_dispatcher.h +++ b/src/core/media_capture_devices_dispatcher.h @@ -24,7 +24,8 @@ class MediaCaptureDevicesDispatcher : public content::MediaObserver, public: static MediaCaptureDevicesDispatcher *GetInstance(); - void processMediaAccessRequest(content::WebContents *, const content::MediaStreamRequest &, content::MediaResponseCallback); + void processMediaAccessRequest(content::WebContents *, const content::MediaStreamRequest &, + content::MediaResponseCallback, content::DesktopMediaID); // Called back from our WebContentsAdapter to grant the requested permission. void handleMediaAccessPermissionResponse(content::WebContents *, const QUrl &securityOrigin, WebContentsAdapterClient::MediaRequestFlags); @@ -52,11 +53,13 @@ private: friend struct base::DefaultSingletonTraits<MediaCaptureDevicesDispatcher>; struct PendingAccessRequest { - PendingAccessRequest(const content::MediaStreamRequest &request, content::MediaResponseCallback callback); + PendingAccessRequest(const content::MediaStreamRequest &request, + content::MediaResponseCallback callback, content::DesktopMediaID id); ~PendingAccessRequest(); content::MediaStreamRequest request; content::MediaResponseCallback callback; + content::DesktopMediaID mediaId; }; typedef base::circular_deque<std::unique_ptr<PendingAccessRequest>> RequestsQueue; typedef base::flat_map<content::WebContents *, RequestsQueue> RequestsQueues; @@ -68,8 +71,10 @@ private: void WebContentsDestroyed(content::WebContents *webContents) override; // Helpers for ProcessMediaAccessRequest(). + void handleRequest(content::WebContents *, const content::MediaStreamRequest &, content::MediaResponseCallback); void processDesktopCaptureAccessRequest(content::WebContents *, const content::MediaStreamRequest &, content::MediaResponseCallback); - void enqueueMediaAccessRequest(content::WebContents *, const content::MediaStreamRequest &, content::MediaResponseCallback); + void enqueueMediaAccessRequest(content::WebContents *, const content::MediaStreamRequest &, + content::MediaResponseCallback, content::DesktopMediaID); void ProcessQueuedAccessRequest(content::WebContents *); // Called by the MediaObserver() functions, executed on UI thread. |