summaryrefslogtreecommitdiffstats
path: root/src/core/media_capture_devices_dispatcher.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add new API for screen capturingMartin Negyokru2023-12-151-99/+17
| | | | | | | | | | | | [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>
* Chromium 116 adaptationsAllan Sandfeld Jensen2023-12-091-3/+1
| | | | | Change-Id: Ie297e6ddef21cda8d71ef3daeaa4bcb82e806911 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for 108-basedAllan Sandfeld Jensen2023-01-061-0/+1
| | | | | | | Pick-to: 6.5 Fixes: QTBUG-105147 Change-Id: I0022964903f3443cc97843c62468ab9be8ae2ed8 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-281-1/+1
| | | | | | Change-Id: I2fe91c06ce91dfaace7825a0589b56ee375479b6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 104-basedAllan Sandfeld Jensen2022-11-281-38/+188
| | | | | | Change-Id: Ieb44b5c98b3342adca38916d8b77c54e8ed8e1d7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 102Allan Sandfeld Jensen2022-08-041-0/+2
| | | | | | Pick-to: 6.4 Change-Id: I7ef0ad616f2ea0fae482253335e95998aa2d360e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 100Allan Sandfeld Jensen2022-08-041-3/+3
| | | | | | Pick-to: 6.4 Change-Id: I217c87657f544a2e868de7291353ff1143e20902 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Various clean-upsPeter Varga2022-06-241-6/+1
| | | | | | Pick-to: 6.4 Change-Id: I53e04a247a25149d9f29135484c0528c706de7d8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix method checkAllan Sandfeld Jensen2022-06-231-1/+1
| | | | | | | | Detected by codechecker. Pick-to: 6.4 6.3 5.15 Change-Id: I8814180ef6bd591ed3e95fc4b4abff3454f10bdf Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Adaptations for Chrome 98Allan Sandfeld Jensen2022-03-291-2/+0
| | | | | Change-Id: I607604f85a111a69da77ca949dddf3399b9721b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 94Allan Sandfeld Jensen2021-12-021-9/+9
| | | | | Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix leak on getDefaultScreeenIdKirill Burtsev2021-10-051-0/+1
| | | | | | | | | XRRMonitorInfo struct is supposed to be cleaned-up after getMonitors with a separate call to freeMonitors. Pick-to: 6.2 5.15 Change-Id: Iacc296d1f5e434a1d52798fe09d57833660b7952 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-22/+7
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Remove NOTIMPLEMENTED from MediaStreamUIQt::OnDeviceStoppedPeter Varga2021-05-121-1/+2
| | | | | | | | NOTIMPLEMENTED triggers an assert on Windows and OnDeviceStopped gets called. This function is also left empty for non-chromeos platforms in Chromium. Change-Id: I86c3fa0de6138ca374d4ec2c3d11270551fd3d71 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 88Allan Sandfeld Jensen2021-04-151-4/+30
| | | | | Change-Id: Ie66e95dbb9fbcafe961bb98d5c277f8c32d66b96 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-01-251-3/+6
|\ | | | | | | | | | | Including update to 87-based Change-Id: I36b6054e00de97ab055d0bc800cff08d0408fac6
| * Enable hangout services extensionPeter Varga2021-01-201-1/+4
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog] Enable hangout services extension and implement its WebRTC desktop capture extension API dependency. Fixes: QTBUG-85731 Task-number: QTBUG-51185 Task-number: QTBUG-61676 Change-Id: I7a659c2b0039243ac8d8c58685716ffc55265e3b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Adaptations for Chromium 87Allan Sandfeld Jensen2021-01-131-2/+2
| | | | | | | | | | Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2020-12-111-17/+74
|\| | | | | | | Change-Id: Id1a1f4ca84697ba18e2604090e3154295fe1858b
| * Merge remote-tracking branch 'origin/5.15.2' into 5.15Allan Sandfeld Jensen2020-11-241-3/+10
| |\ | | | | | | | | | Change-Id: I516761e18c03c6cfd4d44a6ee176a2add9a5b022
| | * Do not set audio device for desktop capture if audio loopback is unsupportedPeter Varga2020-11-031-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Desktop audio capture requires loopback device. If creation of the loopback device fails, it aborts the screen capture too. Chromium does not support audio loopback on Linux and macOS: https://crbug.com/223639 This is still the case in Chrome 88. The fix is based on: https://codereview.chromium.org/24153018 Change-Id: Ifb13bce3b79193203c0bf52e1f2a1b3936e017c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Fix getDefaultScreenId on X11Peter Varga2020-11-101-14/+64
| |/ | | | | | | | | | | | | | | | | | | | | | | Screen enumeration has been implemented in webrtc for X11: https://webrtc-review.googlesource.com/c/src/+/169200 It is available for webengine since the Chromium 83 update. Since then, the screen sharing is broken on X11 because the screen ID is not 0 anymore. Change-Id: I8e513aa446484fde869e2317afa28ecb6d5ebac0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* / Reuse qwebenginesettings from core in qmlMichal Klocek2020-09-111-2/+2
|/ | | | | | | | | | Drop duplicated enums. Use qwebenginesettings as private for qquickwebenginesettings. This can most likely be more optimized when profile is moved to core. Change-Id: I04bdc6c5a35556bf6d38a273cefeeee9d2a0a310 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Detect the combination of audio and video from getDisplayMedia APIAllan Sandfeld Jensen2020-08-071-0/+4
| | | | | | | | | We were missing the combined test after Chromium introduced the new enums. Fixes: QTBUG-85890 Change-Id: Id7bb7f05635c64c271e12a12f2409eedc22a9605 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-1/+1
| | | | | | | | Fixes: QTBUG-80737 Fixes: QTBUG-81556 Fixes: QTBUG-81614 Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-7/+7
| | | | | | | | | | Including removal of renderer service. [ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and XSSAuditingEnabled no longer has any effect. Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Re-enable X11 WebRTC support for desktop sharingAllan Sandfeld Jensen2019-11-221-1/+1
| | | | | | | | | With corresponding fixes in chromium, we should now again be able to support WebRTC desktop sharing with X11. Fixes: QTBUG-80055 Change-Id: If1ce50fe8e83d2c5086c6735d205bc4ca424746d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge branch '5.13' into 5.14Allan Sandfeld Jensen2019-10-301-35/+41
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
| * Fix getDisplayMedia crashJüri Valdmann2019-10-171-35/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MEDIA_DISPLAY_VIDEO_CAPTURE stream type is handled incorrectly by MediaCaptureDevicesDispatcher causing a crash when an unexpected type of media device is returned to Chromium. This patch only fixes the crash, screen sharing is nonetheless not properly supported by WebEngine due to limitations of the public API which does not allow selecting between screens, not to mention windows or tabs. On Linux WebRTC's ScreenCapturer is not even built since it depends on use_x11 being set in GN. Fixes: QTBUG-78016 Change-Id: I7fa49febaba1be94bdb6c31265dfc24ee809d635 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-26/+28
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Implement page lifecycle APIJüri Valdmann2019-05-241-4/+47
|/ | | | | | | | | | | | | | | | | [ChangeLog][QtWebEngine][WebEngineView] WebEngineView now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible views. [ChangeLog][QtWebEngineWidgets][QWebEnginePage] QWebEnginePage now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible pages. Fixes: QTBUG-74166 Fixes: QTBUG-55079 Change-Id: I7d70c85dc995bd17c9fe91385a8e2750dbc0a627 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-36/+35
| | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 71Allan Sandfeld Jensen2019-01-281-8/+7
| | | | | | | Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-19/+12
| | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Cleanup web_contents_view_qt.hAllan Sandfeld Jensen2018-10-211-1/+2
| | | | | | | It had too many headers, and many files depending on its over inclusion. Change-Id: I5add1c4e07a14e017ac60db75efab5fc11e4166f Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* White-space cleanup of media_capture_devices_dispatcher filesAllan Sandfeld Jensen2018-09-271-153/+140
| | | | | | | | In preparation for a deeper cleanup to avoid mixing whitespace and non- whitespace changes. Change-Id: Iedbaf304a06b227799bbe74c71c570b7a675aea4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-221-19/+20
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Michael Brüning2018-08-211-1/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure.json examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc mkspecs/features/platform.prf src/3rdparty src/core/media_capture_devices_dispatcher.cpp src/core/net/url_request_context_getter_qt.cpp src/core/net/url_request_context_getter_qt.h src/core/web_contents_adapter.cpp Change-Id: I467133ba455b1f85f6bb61793794c31cb1094541
| * MediaCaptureDevicesDispatcher: Disable getDefaultScreenId on X11Jüri Valdmann2018-08-081-1/+10
| | | | | | | | | | | | | | | | Not needed and triggers race condition. Task-number: QTBUG-69007 Change-Id: Id57ba527387e5dbe44a8dd6c5a49e7278403ce64 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | MediaCaptureDevicesDispatcher: Minor cleanupJüri Valdmann2018-08-101-53/+23
| | | | | | | | | | | | | | | | | | | | | | - Make private methods private. - Use DCHECK_CURRENTLY_ON instead of just DCHECK (better error message). - Use auto for iterators. - Remove duplicate queue.empty() checks. - Remove unused arguments for getDevicesForDesktopCapture. Change-Id: I929f5d5882a2c1924159f4e001fe477e69a5f1a1 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | MediaCaptureDevicesDispatcher: Remove unused m_desktopCaptureSessionsJüri Valdmann2018-08-101-23/+0
| | | | | | | | | | | | | | Never used for anything? Change-Id: Ib7facf264d3a286a8c2ea1d1584ab86f11f4ea33 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | MediaCaptureDevicesDispatcher: Remove unused variable 'ui'Jüri Valdmann2018-08-101-13/+11
| | | | | | | | | | | | | | It's a std::unique_ptr<content::MediaStreamUI> that is always null. Change-Id: Id43be71b20dc3331692591af9fecbc73a8e521d6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Migrate from BUILDFLAG to QT_CONFIGMichal Klocek2018-07-021-3/+2
| | | | | | | | | | | | | | | | | | | | | | During configuration we mapped qt webengine fetures to chromium ones and passed them to gn. We used BUILDFLAG to optionally compile code in core. Use QT_CONFIG directly for qt files and add config sanity checks to make sure requested features are present. Change-Id: I930df114ac9aec8e73139ea9135925fc3ad8e39c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-261-1/+1
|/ | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-291-1/+1
|\ | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| * Add LICENSE.ChromiumKai Koehne2017-09-201-1/+1
| | | | | | | | | | | | | | | | | | The mentioned LICENSE file is not available; add it under the name LICENSE.Chromium. Task-number: QTBUG-60006 Change-Id: Ib2b3cb64467046c7ba1f53b0bbe14c3ec5a5291d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Cleanup support for desktop captureJüri Valdmann2017-07-171-112/+92
| | | | | | | | | | | | | | | | | | - Use feature permissions system instead of hard-coded dialog. - Add QML test for getUserMedia() and extend existing widgets test. Task-number: QTBUG-60832 Change-Id: I533bed5021b3b0ee199b8abc6ddbd516cbd14ff6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-07-051-1/+35
|\| | | | | | | Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
| * Fix WebRTC screen sharing on macOSAlexandru Croitor2017-06-071-1/+31
|/ | | | | | | | | | | | | | | Previously when a screen sharing request was accepted on macOS, instead of showing the captured screen, a black rectangle was displayed. This was due to passing an incorrect screen id to the screen capturer, which resulted in a failed attempt to find the main active screen. The fix is to query for all available screen ids from the operating system, and choose the first id as the id to pass along to the screen capturer. Task-number: QTBUG-55165 Change-Id: Id8e648e59755aa2820b05b990adeaa9b58fd26f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>