summaryrefslogtreecommitdiffstats
path: root/src/core/media_capture_devices_dispatcher.h
diff options
context:
space:
mode:
authorMartin Negyokru <negyokru@inf.u-szeged.hu>2022-11-04 10:55:58 +0100
committerMartin Negyokru <negyokru@inf.u-szeged.hu>2023-12-15 09:39:26 +0100
commitde57e1b0b00be63e0647d864ff48b9c75742423d (patch)
tree639eb11f6ae7ab3abe32130fdfa4981402c95aef /src/core/media_capture_devices_dispatcher.h
parent39e437f0bc990cf292defff0d77790d27b31df32 (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.h11
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.