summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_adapter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid creating temporary blank WebContentsJüri Valdmann2018-04-061-20/+140
| | | | | | | | | | | | | | | | | | | | | - Avoid creating a blank WebContents for new QWebEnginePages only to replace it with a different blank WebContents moments later. This problem is already solved in QQuickWebEngineView by lazy initialization, therefore the patch moves this lazy initialization into WebContentsAdapter itself so that it can be applied to both QQuickWebEngineView and QWebEnginePage. - Try to delay WebContents creation until the first navigation so that we have enough information available to pick the right initial SiteInstance when calling WebContents::Create. This is done by triggering WebContents creation from the first call to a WebContentsAdapter::load* method. - Use the SiteInstance from WebContentsDelegate::OpenURLFromTab. This method gets a SiteInstance pointer which we should give to WebContents::Create. Task-number: QTBUG-65561 Task-number: QTBUG-67163 Change-Id: Id7b351998adefb810cf27c61a1447b61d7f4c606 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove some unused header includes from corePeter Varga2018-03-211-1/+0
| | | | | Change-Id: Ie5bcf9cfb249f364dbe01a8bee98aada2acdd38f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Cleanup file locationsAllan Sandfeld Jensen2018-03-201-1/+1
| | | | | | | | Move printing and network specific classes to subdirectories so we have fewer files in the main dir. Change-Id: I675b1b8b8fd1588061104cec181087f305b44f98 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Basic adaptations for 65-basedAllan Sandfeld Jensen2018-03-151-3/+2
| | | | | Change-Id: I121b14d6a44e80f5eea4b159c58f7010d472926e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Basic adaptations for 64-basedAllan Sandfeld Jensen2018-03-151-10/+10
| | | | | Change-Id: I11e2da206e4e59872a38c178f57a5879c1bbf229 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Explicitly use custom margins for printing to pdfMichael Brüning2018-03-061-1/+3
| | | | | | | | | | | | | | | 3cec2ccb0ffdd41a41ab55d4c1ba88d4866e71d1 introduced a regression because it was assumed that the page was only printed to pdf when a filename was given. This is not the case when the pdf data is handed to the callback, though. Correct this by explicitly stating when margins should be used. Task-number: QTBUG-66654 Change-Id: I663f578ff5d01c77cc62e6f3756a17f78168a9aa Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fixup merge of downloadType from 5.10.1Allan Sandfeld Jensen2018-02-211-0/+4
| | | | | | | | | | | | | In 5.11 we deprecated downloadType and at the same time ripped out most of the faulty logic. Later we partially fixed the logic in 5.10.1, but kept the 5.11 version during the merge. This restores the improved logic from 5.10.1, while keeping the property deprecated since it is still misleading at times. Change-Id: I12ee09a2b212506f7ba1a336c9c2e88aa3b1de24 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-02-021-2/+0
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/download_manager_delegate_qt.cpp src/core/download_manager_delegate_qt.h src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter.cpp src/webengine/api/qquickwebengineview.cpp tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp Change-Id: I2308414ce257ae5bb0fc9f6493aa111a267ff39b
| * Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Allan Sandfeld Jensen2018-01-241-1/+1
| |\ | | | | | | | | | refs/staging/5.10
| | * Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2018-01-241-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/download_manager_delegate_qt.cpp Change-Id: Ica57e582a323c6bd014a64bb615dd9454e656548
| | | * Fix QWebEngineDownloadItem::type()Jüri Valdmann2018-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-62640 Change-Id: I2b16f24533b38c20a7071319723382ba240e35f3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * | | Fix random crashes on exitMichal Klocek2018-01-241-2/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Destroy WebContentsDelegateQt before WebContents, since it references already partly deleted WebContentsAdapterClient object. This prevents calls by navigation handling on already destructed web contents adapter client. Task-number: QTBUG-65647 Task-number: QTBUG-47945 Change-Id: I0ed5887b337a43ab89ecbfe05130691b5f1f37ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Adaptations for Chromium 63Allan Sandfeld Jensen2018-01-251-4/+6
| | | | | | | | | | | | | | | Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Adaptations for Chromium 62Allan Sandfeld Jensen2018-01-251-0/+2
| | | | | | | | | | | | | | | Change-Id: I49cd3c419d4dd1180144c3c07bdd9a628ab73caa Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-01-171-3/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/webengine/api/qquickwebengineview_p_p.h src/webenginewidgets/api/qwebenginepage_p.h tests/auto/quick/qmltests/data/TestWebEngineView.qml Change-Id: Id2acc92e8d0364bdaaf5a63ea2d2cb9cd533ade3
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2018-01-161-0/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/web_contents_adapter.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp Change-Id: I56c093ebab5ee8b577783ce71761719159cd3ddd
| | * Fix backward compatibilityPeter Varga2018-01-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Guard QTemporaryDir::filePath (5.9) usage in the drag and drop implementation. - Guard QQuickItem::mapToGlobal (5.7) usage in the Quick context menu implementation. Change-Id: If383fa55fbbd1b2a3fe4abd57373598a1703786c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2018-01-081-3/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/api/qwebengineurlrequestjob.cpp src/core/browser_context_adapter.cpp src/core/renderer/user_resource_controller.cpp src/core/web_engine_context.cpp src/webenginewidgets/api/qwebenginepage.cpp Change-Id: I5278e5e22e1776d42975fc94d70ff8ca4f81fb9a
| | * Hardcode default argument for mimetype in ::setContentKai Koehne2017-12-181-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs were wrong in that the default is actually text/plain with US-ASCII encoding (see e.g. data_url_unittest.cc). Anyhow, saying it might change in the future does not help anyone, and is actually a potential security risk - see e.g. the discussion about 'magic' in QTextEdit::setText(). Because of this, it's unlikely that Chromium ever changes the default. Anyhow, we can as well hardcode the default, and document it then. Change-Id: I949111598a30fa69d152d3e98d76e9d96df92d54 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Deprecate download typeJüri Valdmann2018-01-021-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the download type property from QtWebEngineCore and replaces it with a simple boolean 'isSavePageDownload'. On the public API boundary the type property is reimplemented via this boolean and documented as obsolete. Rationale being that 1. This feature seems to lack practical use cases, other than perhaps distinguishing save-page downloads from normal file downloads, which can be done in a much simpler way. 2. This feature does not work as documented and never has. So far nobody has complained, hinting again at a lack of practical use cases. 3. In order to fix it we would need to maintain patches on top of Chromium and Blink (we would, for example, need to propagate the DownloadAttribute type from Blink to Chromium to WebEngine). [ChangeLog][Deprecation Notice] (QWebEngine)DownloadItem::type() is deprecated and replaced with the newly introduced isSavePageDownload() property. Task-number: QTBUG-62640 Change-Id: Icf4e1e5a635028986df7eab979f4c0527902ff0c Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2017-12-181-4/+23
|\| | | | | | | | | | | Change-Id: I9ddd2bdd830a862cd81dc1af5616d43e652a1c0e
| * | Process pending resize of view before scroll to anchor by URL fragmentPeter Varga2017-11-301-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The size of the WebEngineView must be set before navigating to an URL with fragment for scrolling to the correct position. In some cases the resizing is scheduled on the event loop and Blink uses wrong size to calculate position to scroll. Schedule the navigation on the event loop if the viewport's size is 0 thus it is performed after the potential resizing is done. Task-number: QTBUG-54172 Change-Id: I9acbc33748755606082278585c121dd66b4aa02c Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
* | | Introduce devtools frontendAllan Sandfeld Jensen2017-12-061-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to use devtools without using the remote-debugger Task-number: QTBUG-47899 Task-number: QTBUG-50725 Task-number: QTBUG-50766 Change-Id: Id32e13f773372d9917599ebbb64ab4af61bbf1d8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Allan Sandfeld Jensen2017-11-301-2/+10
|\| | | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-151-0/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty tests/auto/quick/qmltests/qmltests.pro tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I2a1e3a83e29a1d6709f3e98fda3f7b4ab7ab297e
| | * Do not stop findText on navigation if no finding in progressPeter Varga2017-11-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid unnecessary unselect calls to prevent to lose active focus on an input field during background load. Task-number: QTBUG-64082 Change-Id: I13e8e2a96254360a78329d6ea2b6858da86a2b5a Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
| * | Stop preserving aborted navigation entriesJüri Valdmann2017-11-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the scenario 1. user enters url "http://localhost:8000/" A new navigation entry is created and committed in the NavigationController. 2. user enters url "http://localhost:8000/download.bin" A new navigation entry is created and a download is triggered, but the pending navigation entry in the NavigationController is neither committed nor discarded (since our WebContentsDelegate's ShouldPreserveAbortedURLs() returns true). 3. user enters url "http://localhost:8000/download.bin" At this point the NavigationController will have "http://localhost:8000/" as the committed navigation entry and "http://localhost:8000/download.bin" as the pending entry. NavigateToPendingEntry will see that the user is trying to navigate again to the same URL as the last pending entry and will therefore identify this new navigation as a reload. However Blink interprets 'reload' to mean reloading the last committed entry, i.e. "http://localhost:8000/", and so we end up trying to download "http://localhost:8000/" instead of "http://localhost:8000/download.bin" as the user might have expected. The patch removes the ShouldPreserveAbortedURLs override and relies on the default implementation which always returns false. As a result the pending navigation entry in step 2 above is discarded once the download has been triggered and the unexpected behavior in step 3 is no longer triggered. Removing the override resurrects QTBUG-48995 where, for example, calling QWebEnginePage::setUrl triggers first a urlChanged signal for the *old* URL. The patch adds url and title properties to WebContentsDelegateQt so that property change signals are triggered only if the properties have actually changed. A consequence of this fix is that the first urlChanged signal is delivered directly from the setUrl/load method and not asynchronously once the loading starts (this is also how Chrome's URL bar is updated). Task-number: QTBUG-63388 Change-Id: Icfa300b165e5e56f1fbc8978a00a237c263df183 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Expose an option to hide internal IP addresses from WebRTCAllan Sandfeld Jensen2017-11-291-2/+8
|/ / | | | | | | | | | | Task-number: QTBUG-57505 Change-Id: I8d8f906311ce94b2d9df67cb4479b70c8961c3a6 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
* | Adaptations to 61-basedAllan Sandfeld Jensen2017-10-251-1/+20
| | | | | | | | | | Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Stabilize navigation after render process terminationv5.10.0-beta1Peter Varga2017-10-041-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When renderProcessTerminated signal is emitted the invalid view of the corresponding RenderWidgetHost is not destructed yet. Having this invalid view during navigation leads to a crash. The proper way to navigate on renderProcessTerminated is to schedule the navigation with QTimer::singleShot(). Otherwise, warn the user and ignore navigation to avoid crash. Task-number: QTBUG-58478 Change-Id: I54ff62f5d306c8cb1fa17e29f349d1e02c4c8cec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
* | Fix selectedText() to return the value of what findText("") findsAlexandru Croitor2017-09-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously when a find operation was finished by calling findText(""), the selection buffer was cleared and calling selectedText() would return an empty string, even though on the UI side a blue rectangle selection was still visible. This was due to an incorrect Unselect() call in WebContentsAdapter::stopFinding(). With the new selection change support in the parent patch, and with the removed Unselect() call, selectedText() now properly returns the value of the highlighted blue selection after searching is finished. Task-number: QTBUG-60673 Task-number: QTBUG-54071 Task-number: QTBUG-53134 Change-Id: I89e0eddb0c14af6d6c06ee878e706be65d3b0831 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Set custom drag data as Chrome doesAllan Sandfeld Jensen2017-09-161-0/+11
| | | | | | | | | | | | | | | | Expose any custom data in the pickled form Chrome uses. Task-number: QTBUG-61503 Change-Id: Ie89bd04f35b1dba94b91e87960cde66238d738df Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-141-2/+23
|\| | | | | | | Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
| * Set referrer on download requestsJüri Valdmann2017-09-121-2/+23
| | | | | | | | | | | | | | | | | | Note that the Referer header still won't be sent if the download is triggered via an anchor element with the 'download' attribute: crbug.com/455987 . Task-number: QTBUG-61354 Change-Id: I5af971af916b2190756e3e58f19736072a213922 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-1/+1
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-25/+24
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge branch '5.9' into 5.10Allan Sandfeld Jensen2017-09-061-1/+36
|\| | | | | | | Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
| * Handle content::DropData::file_contentsJoerg Bornemann2017-08-181-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DropData::file_contents and DropData::file_description_filename are filled by Chromium if the user drags an image from a web page. Write the file's content into a file with the suggested file name in a temporary directory, and set the drop action to "move". This enables users to drag images from the browser to the desktop or a file browser. The file is moved by the client to the target location. The temporary directory is removed when the page is closed. Note that Chrome doesn't use this temporary directory trick, but employs techniques like XDS [1] on Linux to transfer the data via the native clipboard/DnD MIME object. Unfortunately QDrag doesn't support this. Support could be added, but I consider this solution as good enough. [1] https://www.freedesktop.org/wiki/Specifications/XDS/ Task-number: QTBUG-60790 Change-Id: I44f2b3170a124e861ed4131c421903d895b70715 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-08-141-0/+16
|\| | | | | | | | | | | Includes sha1 bump of src/3rdparty to head of 58-based. Change-Id: I37743c3979c1b6fb21f71eab7048e82f7aa5d78b
| * Set web contents font setting to defaultAllan Sandfeld Jensen2017-08-031-0/+10
| | | | | | | | | | | | | | | | | | | | Chromium has since version 50 overridden the global font settings with the settings of every web contents created, so we need to first set the global settings in the web contents, to still follow system defaults. Task-number: QTBUG-62146 Change-Id: If10847c81beda08ecb7bfdf7556e39b1d2989754 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Support command-line argument --force-webrtc-ip-handling-policyAllan Sandfeld Jensen2017-07-181-0/+6
| | | | | | | | | | | | | | | | | | | | This command-line argument makes it possibly to block exposure of internal IP addresses when WebRTC access hasn't been granted, using --force-webrtc-ip-handling-policy=default_public_interface_only Task-number: QTBUG-57505 Change-Id: I0cddd1b20e0814811894204cb31e0c463a75f7be Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Remove support for building with Qt versions < 5.8.0Allan Sandfeld Jensen2017-08-041-2/+0
| | | | | | | | | | Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-07-051-1/+2
|\| | | | | | | Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
| * Fix crash when accessibility is disabledAllan Sandfeld Jensen2017-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | With the no-accessibility feature moved to qtgui-config, we don't always include it where web_content_apapter_client.h is included, which gives it an inconsistent binary layout. Solve it by making the optional method always defined as it doesn't rely on anything from accessibility. Task-number: QTBUG-61200 Change-Id: I65f34ab2b6763f3166b945e700994bd8d019a835 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Fix QMimeData to content::DropData conversionJoerg Bornemann2017-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When files are dropped then it's expected that dataTransfer.files and dataTransfer.items have the same amount of entries. That means that whenever QMimeData contains files we must only convert those and ignore the rest. But while files do not allow other items before them, text and URLs may co-exist in content::DropData. This is consistent with the behavior of Chromium and Firefox and what web pages expect. Task-number: QTBUG-59690 Change-Id: Iad56aac3e071dcfa09fa5dfcc788c1c54c6eeae6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Simple adaptations for Chromium 58Allan Sandfeld Jensen2017-06-141-5/+5
| | | | | | | | | | Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 57Allan Sandfeld Jensen2017-06-141-11/+10
|/ | | | | Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix backwards compatibilityAllan Sandfeld Jensen2017-05-101-0/+2
| | | | | | | | | | QtWebEngine supports building with last stable and last LTS Qt releases. Guard some 5.7-5.9 API from being used when not available, and reinstate the default features for 5.6 LTS builds. Change-Id: Ia288a49109d011a2bee883d4a2d38d994b497d59 Reviewed-by: Michael Brüning <michael.bruning@qt.io>