summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix not working web ui popup (html comboboxes) due to focus out eventsMichal Klocek2022-01-131-1/+6
| | | | | | | | | | | | | | | | | | | | | | Recent change in qtdeclarative 42d411e2e8 causes a focus out event being delivered in case of popups to "root" item of quickwidget. This is not expected as events are forwarded to parent "view" and loosing a focus will hint Blink to trigger a pop up close request. As a communication with a render process is asynchronous this creates several race conditions in our tests and the Blink's popup close request can close unexpectedly windows creating dangling pointers. Moreover, the focus in never gained back leaving the Blink's logic in a limbo state. Simply ignore a focus out event in case of popups. Fixes: QTBUG-99215 Pick-to: 6.3 6.2 6.2.3 Change-Id: I5ca6eda227101d4f19f15735e41f066cfd8ccea0 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Do not access accessibility from qt post routinesMichal Klocek2021-11-161-1/+4
| | | | | | | | | | | | | | | | | | | It seems accessing accessibility from qt post routines ends badly since caches are gone already. Add closingDown() function to web context, which is similar to QCoreApplication::closingDown(), however return true on post routine. Guard delete accessibility calls. Note the widget part is not necessary, but added for completeness, since only qml can release profiles due to garbage collection. Fixes: QTBUG-90904 Pick-to: 6.2 6.2.2 5.15 Change-Id: Ic0e7115cd17eb58f3d58f70fefbc197dfb7a6493 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Do not cancel custom tooltips by QWebEngineView custom tooltip handlerPeter Varga2021-11-051-12/+12
| | | | | | | | | | | | | | | | | | Tooltips should disappear when chromium requests it and it is done by an explicit call of QToolTip::hideText() (see QTBUG-64933). This, however would also hide a custom "global" tooltip because the custom tooltip event notifies QWebEngineView to remove its own tooltip to avoid more than one in a window. The QWebEngineView's tooltip handler was override and it resulted custom tooltips to hide themselves. As a fix, remove the custom tooltip handler from QWebEngineView and hide tooltips only if requested by Chromium. Fixes: QTBUG-97897 Pick-to: 6.2 Change-Id: I976e49218ec975b10e2f155096f6aec124270fdc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove the rest of qmake based configurationMichal Klocek2021-10-142-54/+0
| | | | | | | | | | The only not cover part in cmake port are: * ios builds for qtpdf * qt static dependecies for qpdf Pick-to: 6.2 Change-Id: Iefe624c35d847b4a9c3cd970192487340b1657f9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Disconnect safelyAllan Sandfeld Jensen2021-09-304-3/+12
| | | | | | Pick-to: 6.2 Change-Id: Ic1c25724ea2d6c2241ab2665703380002efae8c3 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Rename Quick examples' folder from webengine to webenginequickBalazs Egedi2021-09-131-1/+1
| | | | | | | | Fix webengine directory path in project files and comments Pick-to: 6.2 6.2.0 Change-Id: I06ed9ee41111e7135fa9feb152ad2a5eb2262b76 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable no opengl buildsMichal Klocek2021-09-041-0/+5
| | | | | | | | | | | | | By mistake opengl was marked as required library, but should be just optional. Fix compilation issues. This should enable build on yet another coin node. Pick-to: 6.2 Change-Id: Id87404928e6b042d902fcfe0a7fed99a6806456f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add desginer plugin to cmake buildMichal Klocek2021-09-015-1/+271
| | | | | | | Fixes: QTBUG-95668 Pick-to: 6.2 Change-Id: If3613043bfad00871b847c57a3e0961a67cec89b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rewrite gn-cmake integrationMichal Klocek2021-08-291-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous gn-cmake integration was driven towards having the complete cmake build tree which included gn build artifacts. These were marked as IMPORTED in cmake build files, this way cmake "knew" all object files and static libs coming from gn. To achieve that we needed to run the cmake configure twice. First to feed gn with the build information from cmake and then the second run to import all the build information to cmake based on gn run. As a side effect of this the first run cmake was creating incomplete targets, so we could use generator expressions to gather all the data needed for gn run. The second run of cmake was able to create fully initialized targets. We used 'external project' to run cmake the second time. This approach worked well when doing "module" builds and having two targets, one in the main project and one in external was not an issue. Moreover, this approach could be integrated nicely since CI does only "module" builds. Unfortunately "top level" builds are implemented to import all qt targets into one build tree. This created issue for qtwebengine since fully initialized targets were 'hidden' by 'external project' and including half baked (dummy) targets from the main project resulted in bunch of issues related to the dependency tracking and build race conditions. Also using 'external project' complicated installation rules and in the end installation worked differently than in other modules. With current approach we use response files, so we hide all build artifacts coming from gn and feed cmake with those response files. This way we run the cmake configure once and we create all the targets once. Using rsp files hacks linker options in cmake, so this approach is sub-optimal, however allows to have working "top level" builds. It is worth mentioning here that the final module linking has to take place with cmake's part of build since doing one static lib in gn is not possible due to the toolchain limitation (msvc is not able to process static libs over 4Gb and has no support for thin archives, so only a shared lib is doable at time of writing) Following changes are made: * remove 'external project' for qtwebengine target, we keep it however for ninja ,gn and a host project * call gn from cmake in a scripting mode during build and not configure run, this way BUILD.gn is assembled as a build step so after generator expressions are executed * BUILD.gn is assembled now from 4 files: - root template BUILD.root.gn.in - compiler data gn_config_c.cmake, gn_config_cxx.cmake - sources data gn_cofnig_target.cmake * since we use gn wrapper script use gn.args file to pass arguments instead of a command line, so this file can be now easily modified when running gn and ninja 'manually' * since a script mode does not support handling of properties with TARGET as such, use the DIRECTORY scope in some of our functions which handle GN_TARGET * use qt_build_repo() in main CMakeFile and remove all coin and top level build hacks * remove 'external project' for examples and tests, this is no longer required as all qt targets are not hidden by external project * remove leftovers from gn feedback call used for GN_TARGET * improve installation rules, WebEgineCore target is not by default installed during build, therefore we need to copy resources and translations to root so tests and examples still can be built without a module being installed first * adjust GN lookup paths, we look for gn in main configure and during scripting mode when gn is executed Fixes: QTBUG-94349 Fixes: QTBUG-94709 Fixes: QTBUG-94922 Fixes: QTBUG-94997 Fixes: QTBUG-95051 Fixes: QTBUG-95152 Fixes: QTBUG-95158 Fixes: QTBUG-95972 Task-number: QTBUG-95231 Task-number: QTBUG-95590 Pick-to: 6.2 Change-Id: I5e7a34287ee59d904103fe310fc7c6a36a8dfbc9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean up coding style in API header filesAllan Sandfeld Jensen2021-08-183-20/+27
| | | | | | Pick-to: 6.2 Change-Id: Ifa5892415a1e0b8ce9b6bfa10719aba618e3b799 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update documentation notes for build with WebEngine modulesKirill Burtsev2021-08-174-2/+19
| | | | | | | | | | Add cmake usage snippets for module's libraries. Remove quick version from code snippets. Fix minor documentation warnings. Fixes: QTBUG-94937 Pick-to: 6.2 Change-Id: I2e5c8616ceeab495f604e135bb2aa2261c50c68d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Return printToPdf to QWebEnginePageAllan Sandfeld Jensen2021-08-092-55/+10
| | | | | | | | | It doesn't use QPrinter and can be done using QtGui classes only. Pick-to: 6.2 Change-Id: I0e14563c1bb5e93d9803bb1a807f702b1a2a5315 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Add QWebEnginePage::view() replacementAllan Sandfeld Jensen2021-08-092-0/+16
| | | | | | | | | Make it a static getter in QWebEngineView Pick-to: 6.2 Fixes: QTBUG-95331 Change-Id: I552f0047343abd909c5cd521a7a7a01d62896b00 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update parameters to findText callbackAllan Sandfeld Jensen2021-07-133-5/+4
| | | | | | | Pick-to: 6.2 Change-Id: I622ff55c1c9b6f9d4818228c75543c3deffa37be Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Various clean-ups around QWebEngineViewPeter Varga2021-07-134-39/+40
| | | | | | Pick-to: 6.2 Change-Id: I16f27054871f63526946101e07cb0dcf4aa3b390 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix build with printing disabledAllan Sandfeld Jensen2021-07-121-0/+1
| | | | | | Pick-to: 6.2 Change-Id: I11d3f61d1c916e6696a1cbf85bb0e0457fe52188 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Clean up includes, forward declarations and friends in core apiPeter Varga2021-07-081-0/+1
| | | | | | Pick-to: 6.2 Change-Id: I58e2dc2443bca75b0d315694c9f6503251a7be02 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix documentation issues for Qt WebEngineTopi Reinio2021-07-012-5/+7
| | | | | | | | | | API and documentation changes since 5.15 caused multiple warnings from QDoc; this change addresses most of them. Some warnings indicate missing documentation, those issues still remain. Pick-to: 6.2 Change-Id: I96be38b7daac37a7e35c149b4b3ec3f18c4415c9 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix docs since 6.0 references for new apisKirill Burtsev2021-07-011-1/+1
| | | | | | Pick-to: 6.2 Change-Id: I2d9cf4fffda1ad614388844781ac4fece15dde0d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Switch printToPdf to std::functionAllan Sandfeld Jensen2021-06-243-10/+13
| | | | | | Pick-to: 6.2 Change-Id: I2660e60665542681bc9b0a479ce7fd9d93b896ae Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix module specified for moved classesAllan Sandfeld Jensen2021-06-232-896/+0
| | | | | | Pick-to: 6.2 Change-Id: Iad93680dd0811086c481d9bf8adb298f663bdfa4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix some translated messagesFriedemann Kleint2021-06-231-1/+1
| | | | | | | | Give messages a context and use placeholders for arguments. Pick-to: 6.2 Change-Id: Ib07f74f6c9f0024c2851b3e4f2093f980115244d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add QPageRanges to PDF printingAllan Sandfeld Jensen2021-06-222-8/+16
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-73497 Change-Id: I0a66c4f1767c54b0bcc9f9a3b61e29c43ec20177 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Switch QWebEngineCallbacks in QWebEnginePage to std::functionAllan Sandfeld Jensen2021-06-174-15/+19
| | | | | | Pick-to: 6.2 Change-Id: I5b0c1c7ef0966c3cff79184aa0733b59208d6890 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add back the rest of the lost printing documentationAllan Sandfeld Jensen2021-06-111-2/+44
| | | | | | Pick-to: 6.2 Change-Id: I35a4857d873559403d0574a69c59b4fd1e9a952f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move printing finished callback to signalAllan Sandfeld Jensen2021-06-112-10/+47
| | | | | | | | | | | We can only have one printer active at a time anyway. At the same time restore some lost documentation. Pick-to: 6.2 Task-number: QTBUG-63235 Change-Id: I454ef3fb038712c832e73c661120fbbe77b3a90c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Replace Q_NULLPTR and pointer 0 with nullptrAllan Sandfeld Jensen2021-06-101-1/+1
| | | | | | Pick-to: 6.2 Change-Id: Ifd7acf49b22be1532ba98371982af4b14f08e6fc Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Switch QWebEnginePage::findText() to std::functionAllan Sandfeld Jensen2021-06-104-4/+4
| | | | | | | | | Leaving further API modification for later Pick-to: 6.2 Task-number: QTBUG-63235 Change-Id: I75367ee5d4ce071abaeed361d2dc27c64fb6dd8a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Merge WebEngineHistory's quick implementation into QWebEngineHistoryKirill Burtsev2021-06-041-231/+0
| | | | | | | | | | [ChangeLog][QWebEngineCore][QWebEngineHistory] New methods to access navigation history as a model through new class QWebEngineHistoryModel. [ChangeLog][QWebEngineQuick] QQuickWebEngineHistory is merged into QWebEngineHistory. Task-number: QTBUG-74585 Change-Id: I9f9a73bbaf3954282dfc220cfc2c4cb08a37fb73 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Drop printsupport dependency from coreSzabolcs David2021-06-034-1/+145
| | | | | | | | | Prevent linkage of core to widgets by moving printing API from QWebEnginePage to View and using QPagedPaintDevice (the QtGui ancestor of QPrinter) where it's needed. Change-Id: I6ea96edb495b0dcaaa584bbe72632fda025c18d3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move createWindow to a signalAllan Sandfeld Jensen2021-06-032-6/+9
| | | | | | | | | | | | | | Ports QQuickWebEngineNewViewRequest to QtWebEngineCore. [ChangeLog][QtWebEngineQuick][WebEngineView] WebEngineView::NewViewRequested is now handled with WebEngineView::acceptAsNewView() instead of with WebEngineNewViewRequest::openIn(). Task-number: QTBUG-74587 Change-Id: I9b27128948076e13f2c228458e1e7491df12153d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add missing FileSelectionMode enum valueBalazs Egedi2021-05-312-1/+2
| | | | | | | FileSelectUploadFolder value is added. Change-Id: Ie69782234bcbf3460d2999ac08ee9f88dea190c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add missing dependecies, update shasMichal Klocek2021-05-251-1/+1
| | | | | | | | | | | Include WebChannel,Positioning cmake packages into WebEngineQuick and WebEngineWidgets. WebEngineCore depends on it so this should be pick up automatically, but in the case of clean build and due to how things work in cmake this is required otherwise linker genex will complain. Change-Id: I54fe8ffdb824e1fd0c0dcdfbbb43b1bcf06411bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make handling of certificate errors possible from a signalAllan Sandfeld Jensen2021-05-251-1/+1
| | | | | | Task-number: QTBUG-74587 Change-Id: I9955a4c70b339523b5e9e9d6dffe928e61fbab90 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean headersMichal Klocek2021-05-221-1/+1
| | | | | | | Fix errors from the 'clean headers' task on coin. Change-Id: I058697e726228800c0fd3220b1d40ac154efb47c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add WebEngineWidgets, WebEngineQuick modules cmake buildMichal Klocek2021-05-194-4/+35
| | | | | | | | | Fix some library dependencies and make proper header includes in core. Task-number: QTBUG-91760 Change-Id: I415361dd42ef2cc39716ce3f5f56e6e8556ac4c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-05-121-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webenginewidgets/printme/printhandler.cpp src/3rdparty src/core/api/qwebenginepage_p.h src/core/content_browser_client_qt.h src/core/web_contents_adapter_client.h src/core/web_contents_delegate_qt.cpp src/core/web_contents_delegate_qt.h src/webenginequick/api/qquickwebengineview_p_p.h tests/auto/quick/qmltests/data/tst_download.qml tests/auto/quick/qmltests/data/tst_viewSoure.qml tests/auto/widgets/loadsignals/tst_loadsignals.cpp tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I9c1819ec15e13d4f8e244defe860e26274b5d4be
| * Fix inconsistent number of load signals and their orderKirill Burtsev2021-05-062-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change tries to match how chromium treats one single load. Before the pair of loadStarted/loadFinished methods for api classes was called on delegate's DidStartNavigation/DidFinishNavigation, which might be many within one single logical load. This is true for multiple usecases (like multiple redirects on load, immediate form submit on DOM load, page's subresource load, or just an error page load on failure). Tracking these methods and deciding when to emit signals based on states are error-prone and complicates logic for no benefits. Also it somewhat lies about when real load is done, which is only started and finished on outer methods DidStartLoading/DidStopLoading, which are conveniently called only once for all mentioned usecases. So, this change uses these methods to issue signals for load start/finish, and only makes exception for error page, which is needed for quick's private test support. Fixes: QTBUG-65223 Fixes: QTBUG-76802 Fixes: QTBUG-87089 Fixes: QTBUG-90342 Fixes: QTBUG-91773 Fixes: QTBUG-92063 Change-Id: I9cc99b639030fedd8cf6a9dc04d0869d6be6357d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Doc: Add a note about navigation within a page to a fragmentKirill Burtsev2021-05-061-0/+6
| | | | | | | | | | | | | | Task-number: QTBUG-76802 Change-Id: I38cd148706c0479ffbad1e0d2877adc1cad9038d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Docs: Suggest to use higher DPI for printingSzabolcs David2021-04-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | When printing with the default resolution of QPrinter, rasterized images of pages are just too small to produce sharp result. Documentation of QPrinter also mentions that the default ScreenResolution should only be used for drafts. Change-Id: I5fe93f7985d16b1126cf2bbcb9b4a4ddbdfd21f2 Task-number: QTBUG-92185 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Replace 0 pointer constants with nullptrAllan Sandfeld Jensen2021-03-223-3/+3
| | | | | | | | | | Change-Id: I938b593deef66c782f5b0998948c0a7b2c32f656 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-03-161-1/+9
|\| | | | | | | Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
| * Only disconnect QWebEnginePage signals that QWebEngineView connectedMichael Brüning2021-03-111-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | When the QWebEnginePage changed on a QWebEngineView, all signal connec- tions between the view and the previous page were removed as well, even those that the user connected themself. To prevent unexpected behavior, only disconnect the signals that the view connected to automatically and leave the rest of the connections intact when the page on the view is changed. Fixes: QTBUG-90509 Change-Id: Icac3e3be0b598dec8107e8fffdf7f25dd88a4b71 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-02-171-3/+2
|\| | | | | | | Change-Id: Idee0142b0e33fdf8ca663f1ef1bcd8b932985043
| * Remove more leftovers of the old compositorAllan Sandfeld Jensen2021-02-082-14/+0
| | | | | | | | | | | | | | Also removes another private dependency Change-Id: Ie0a671c66f9aa49e7001c44e69bf94e11ab058a5 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Fix loadFinished signal if page has content but server sends HTTP errorPeter Varga2021-02-052-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For triggering an error page 3 conditions should be fulfilled: - main frame navigation - the page's document is empty - the HTTP status code indicates an error This fix adds check for the empty document and sends loadFinished signal without expecting an error page if the document is not empty. Fixes: QTBUG-90517 Change-Id: I6463d75fb5e682932feca64b0f059f9aa475795c Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Adaptations for Chromium 86Allan Sandfeld Jensen2021-01-131-1/+1
| | | | | | | | | | Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 85Allan Sandfeld Jensen2021-01-131-2/+9
| | | | | | | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Suppress error pages also for http errors if they are disabledKirill Burtsev2021-01-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Load with client or server http error results in successful navigation, which leads to 'true' loadFinished result, and subsequent chromium's error page load and display with second set of loadStarted/loadFinished signals. This effectively ignores QWebEngineSettings::ErrorPageEnabled. Fixing it requires submodule change to ask embedder if error pages should also be suppressed for http errors. Also update chromium for required change, which pulls in the following changes: * e71010069b4 Fix embedded builds with printing enabled * f5a93d251cc Allow the embedder to suppress an error page for http errors Change-Id: I731678575439a6dad90dfb89e79b0083c63b49c2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix new view request handlingTamas Zakor2020-11-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore url loading if the request is not from a data url and the Q(Quick)WebEngineNewViewRequest.openIn() is not called on newViewRequested(). Set the missing Q(Quick)WebEngineNewViewRequest::requestedUrl property. Fixes: QTBUG-87378 Change-Id: Idddc9cf075db68dcf5825b3e746d16419d02cfa0 Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>