summaryrefslogtreecommitdiffstats
path: root/src/core/media_capture_devices_dispatcher.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Adaptations for Chromium 56Allan Sandfeld Jensen2017-03-271-1/+0
| | | | | Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-1/+1
| | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-111-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h src/core/gl_surface_qt.cpp src/core/print_view_manager_qt.cpp src/core/web_contents_delegate_qt.cpp src/core/web_engine_context.cpp src/webengine/doc/src/qtwebengine-overview.qdoc src/webengine/doc/src/qtwebengine-platform-notes.qdoc src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp src/webenginewidgets/webenginewidgets.pro sync.profile Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-041-1/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also apply a4b04e4c on src/webengine/doc/src/qtwebengine-deploying.qdoc, use the macro \macos. Conflicts: src/core/media_capture_devices_dispatcher.cpp src/webengine/doc/src/qtwebengine-deploying.qdoc src/webengine/doc/src/qtwebengine-platform-notes.qdoc Change-Id: Ia6092a56bfe23da7c06f5389718ebbc9b78ef820
| | * Allow Pepper Flash to access Media DevicesViktor Engelmann2016-10-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Q_UNREACHABLE caused WebEngine to block Pepper Flash from accessing Media Devices such as the WebCam (this rendered http://testwebcam.com unusable for example) Task-number: QTBUG-55017 Change-Id: I7979c9a5690173e86310f7448c78949371fbc909 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Adaptations to Chromium 52Allan Sandfeld Jensen2016-09-141-24/+38
|/ / | | | | | | | | Change-Id: Idf8a511ba26d263fd9d014d87d5e1101d706da71 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Cleanup copyright and origin in src/coreAllan Sandfeld Jensen2016-04-291-0/+1
| | | | | | | | | | | | | | | | Adds copyright and origins to files in src/core based on Chrome sources. Change-Id: I842ce4c170bfeabe06d92fb67fef3d8f9a202ddc Task-number: QTBUG-53048 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-04-181-0/+2
|\ \ | |/ | | | | Change-Id: I490e0ee46d3ff040ca26426feb7e4d6ef7098f94
| * Fix compilation error with missing includeKai Koehne2016-04-111-0/+2
| | | | | | | | | | | | | | | | | | I could not reproduce the issue, nor the CI. Anyhow, it doesn't hurt to include the header explicitly, instead of relying on indirect includes. Task-number: QTBUG-52460 Change-Id: I78d04f3af853aa5951cdfc066089f06f71f72988 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Basic adaptation to Chromium 49Allan Sandfeld Jensen2016-03-071-6/+6
| | | | | | | | | | | | | | | | Converts types, callbacks and headers to match Chromium 49. Task-number: QTBUG-51173 Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
| | | | | | | | | | | | | | | | | | Update files using old header.LGPL3 to use header.LGPL Update files using old header.FLD to use new header.FDL Update files using old header.BSD to use new header.BSD Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Add MediaCaptureEnabled setting to the web engine settings.Michael Bruning2015-11-161-2/+3
| | | | | | | | | | | | | | | | | | Defaults to off. Change-Id: I416116ce07c8b7f5b24ad6e329390358406eadca Task-number: QTBUG-48801 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adapting to Chromium 47Allan Sandfeld Jensen2015-10-271-2/+3
|/ | | | | | | Updating to Chromium 47 and adapting API. Change-Id: Id465bbcd4facd7c47cb8a9f4bd4e18cbdc0d1120 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Replace QObject::trKai Koehne2015-09-031-2/+2
| | | | | | | Place translations in a better namespace than 'QObject' Change-Id: Id691050f2f50eba4f272b52ff36caf7056d017c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Trivial changes for Chromium 44Allan Sandfeld Jensen2015-06-231-4/+3
| | | | | Change-Id: I8261b201f1d6623eff3427b68b8d098c17d293d3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+4
| | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scoped_refptr operator for implicit conversion to pointer has been disabled upstream: https://codereview.chromium.org/510323002 * Group permission API as done upstream: https://codereview.chromium.org/622793002 * content_worker gyp target has been removed upstream. * GetPageThumbnailData moved to DevToolsManagerDelegate. * ui/ui_resources has been renamed to ui/resources * WebPreferences and ResourceType have moved inside content. * Merge ResourceBundle's InitSharedInstanceLocaleOnly with InitSharedInstanceWithLocale(): https://codereview.chromium.org/457103003 * Remove obsolete accessibility events. * AX_EVENT_SELECTED_TEXT_CHANGED has been renamed to AX_EVENT_TEXT_SELECTION_CHANGED * AX_ROLE_MATH_ELEMENT was removed upstream. https://codereview.chromium.org/695133002 * Screen::IsDIPEnabled has been removed upstream. https://codereview.chromium.org/672823002 * Update DevToolsHttpHandlerDelegateQt according to ShellDevToolsManagerDelegate. * Various functionality from DevToolsHttpHandler was moved to DevToolsManagerDelegate https://codereview.chromium.org/560323005 * DevToolsHttpHandler::Start expects a scoped_ptr now. * Make sure event_factory_evdev.h is not included when USE_OZONE is not defined * ErrorPageParams was moved into namespace error_page. * Media Access is now handled by ContentBrowserClient::CheckMediaAccessPermission * SpecialStoragePolicy moved to namespace storage * Add implementation for new pure virtual function BrowserContext::GetSSLHostStateDelegate. * RenderPass::Id was renamed to RenderPass::RenderPassId * Include view_messages.h for ViewHostMsg_TextInputState_Param * CERT_UNABLE_TO_CHECK_REVOCATION has been deprecated by Chromium: https://codereview.chromium.org/449743002 * MailboxManager::ConsumeTexture only takes the mailbox as an argument * Replace RWHVQt::TextInputStateChanged with RWHVQt::TextInputTypeChanged. * RenderWidgetHostView::ScrollOffsetChanged has been removed. * SkBitmap::Config was removed upstream. * CopyFromCompositingSurfaceCallback has become an own type. * AcceleratedSurfaceInitialized only takes route_id as an argument. * ServerBoundCertService has been renamed to ChannelIDService. Related API has been renamed accordingly. * TextureImageTransportSurface was removed upstream. * Update MediaCaptureDispatcher::OnMediaRequestStateChanged signature. * AudioStream related functions are gone upstream. https://codereview.chromium.org/569713002 * Add implementation for RenderWidgetHostViewQt::GetLastScrollOffset. * Include generic touch_device implementation. * switches::kDisableDesktopNotifications was removed upstream. https://codereview.chromium.org/607843002 * PageTransition moved to ui. * Messages headers are not guarded. Including them multiple times does hurt. * ScaleGestureDetector does not create a standalone GestureDetector anymore. https://codereview.chromium.org/501503003 * MotionEvent::Cancel and Clone are not virtual anymore. https://codereview.chromium.org/502993004 * Exclude os_exchange_data_provider_mac from build. * Remove argument from ScopedClipboardWriter ctor. https://codereview.chromium.org/558913003 * Remove ShowPopupMenu override from WebContentsQt. The function is not pure virtual anymore, and we never implemented any specifics. * Do not use clang on desktop linux. * Request functions in ContentBrowserClient were merged into RequestPermission. * ninja: use configure.py --bootstrap instead of bootstrap.py Change-Id: I3575612826db7845461a949b4e737264bb4e8d88 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Update License Headers for Qt WebEngine to LGPLv3.Zeno Albisser2014-08-211-14/+10
| | | | | | | Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-141-71/+16
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add WebRTC supportPierre Rossi2014-04-291-0/+511
Reuse the MediaCaptureDevicesDispatcher from the chrome layer, pretty much as is, and wire it in with WebContentsDelegateQt and WebContentsAdapter/WebContentsAdapterClient for API delegation. We also need to ensure that our user agent string mentions Chrome and the Chrome version we're based on, in order to please websites that detect feature support that way. Change-Id: I0ddf8cd34e4add96bc36f59adfe8e0384e728d93 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>