summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* tests: disable print/pdf tests when feature is offMoss Heim2024-10-022-0/+6
| | | | | Change-Id: I20203b0e4b40e8829d77d1b6ae700157319ac6bb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Force layout update on dom tree before reading text from itMartin Negyokru2024-09-261-4/+0
| | | | | | | | | | | | | | | | | QWebEnginePage::toPlainText only works on frames that are visible or their style/layout tree is clean. There are some optimizations (since 122 chromium) introduced in blink which skip layout/stlye calculations on frames that are dynamically loaded even if they are already in the DOM tree. Run these calculations before reading text from the document. This change fixes the failing dynamicFrame test. Remove them from the blacklist. Fixes: QTBUG-126049 Task-number: QTBUG-127758 Change-Id: I1c124f5f5404df0173453dcd5b4927886b9358ee Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 126Allan Sandfeld Jensen2024-09-261-7/+6
| | | | | | Change-Id: If920f024c9f8fe18a9f22fa97b8fb5564dfa3b61 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Increase wait time in tst_Printing::printFromPdfViewerMoss Heim2024-09-231-1/+1
| | | | | | | | | It seems the ubuntu 24.04 dev build takes longer than 10s to run this test, so bump it up to 15s. Task-Id: QTBUG-128514 Pick-to: 6.8 Change-Id: I1c3fd1f651d8b0939cbc36cc05c94084bc461f78 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crash with popups over transparent backgroundsMoss Heim2024-09-192-0/+25
| | | | | | | | | | | An earlier color update fix (dcc464b14c) caused color updates to be applied to views without owner delegates, in the case of combo box popups for example. We now guard this pointer dereference. Fixes: QTBUG-128241 Pick-to: 6.7.3 6.8 Change-Id: Ib086c7d544b29bf41101ff423160de2310890174 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: skip one test in tst_qmltests on linux arm64Liang Qi2024-09-111-0/+5
| | | | | | | | Pick-to: 6.8 6.8.0 Task-number: QTBUG-128652 Change-Id: I9ac46da046c8270c43871d24fc830579e21ca500 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* tests: blacklist tst_QQuickWebEngineView::htmlSelectPopup() on offscreenLiang Qi2024-09-111-0/+3
| | | | | | | | Pick-to: 6.8 6.8.0 Task-number: QTBUG-128653 Change-Id: Id466b1ed4a63271a15c0b80e78eebda8b693bd42 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Handle null desktop media capturerMoss Heim2024-09-032-43/+90
| | | | | | | | | | | With wayland+no pipewire, webrtc will return a null capturer. We need to handle this to avoid a crash. Pick-to: 6.8 6.7 Fixes: QTBUG-127726 Change-Id: I0ce730a1156305a6d869630c43f0f1f23cb1df0c Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Revert "Blacklist flaky tests for Bugfix week 2024/H2"Daniel Smith2024-08-291-2/+0
| | | | | | | | | This reverts commit 51f283f0062027e08ec5e36ea91d1a64198f2cef. Reason for revert: No permanent failures following bugfix sprint Change-Id: Id6f5fb6a2ce835395948fa7715d009b103dea1b3 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Drop poppler dependencySzabolcs David2024-08-282-37/+54
| | | | | | | | | | | This library is for testing only and only Linux CIs/machines run the dependent tests by default. It seems it worth to switch this into an internal dependency and have more test coverage; use QtPdf instead. Change-Id: Ib9b1f047ad936cba7ca0af7385a379d50b4ba544 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix static logging category deprecation warningsKaloyan Chehlarski2024-08-275-5/+13
| | | | | | | | | | | | | | | | | | | | | This is a second attempt at getting rid of the deprecation warnings caused by the new logging category macros in 6.9. These cause build failures on warnings-as-errors configurations, and need to be fixed properly without affecting backwards compatibility. The change introduces a new Q_WEBENGINE_LOGGING_CATEGORY macro, intended to be used across the WebEngine sources. The macro is not exported to users, so the QtPdf example that declares its own logging category uses an #ifdef instead. The new macro is placed in its own header inside src/core/, and is intended to be removed whenever the next LTS release allows us to break compatibility with 6.8, and just directly use Q_STATIC_LOGGING_CATEGORY everywhere. Fixes: QTBUG-127975 Change-Id: I9174dab21bd597c862e569e170161782cc108ece Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Permission manager: separate tracking of transient permissionsKaloyan Chehlarski2024-08-245-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the rewrite of the permissions API, transient (a.k.a non-persistent) permissions still passed through the persistent store sometimes, but were filtered out when using user-facing APIs. Unfortunately, thisstill presented some edge cases in the AskEveryTime permission policy mode. This change modifies the PermissionManagerQt class to store a second set of permissions, and associate them with a RenderFrameHost the way the Chromium API is designed to do anyway. This way, a permission will be kept around for the lifetime of a web page, and calling JavaScript APIs that trigger checks for permission state will work properly (e.g. navigator.mediaDevices.enumerateDevices). The new store is regularly cleaned up to make sure expired permissions are purged before they impact performance. As a side effect, this change also introduces pre-granting of non-persistent permissions, which was the biggest omission in the permissions rewrite. In those cases, the permissions will be temporarily stored inside the persistent store, and moved to the transient one the next time they're queried (and can thus be associated with a RenderFrameHost). This also fixes some extremely broken test cases that relied on invalid web API. Fixes: QTBUG-127951 Pick-to: 6.8 Change-Id: Ic084af7673ea0b255d98d94382e77323bb5e7ab0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make QQuickWebEngineDownloadRequest publicAllan Sandfeld Jensen2024-08-232-3/+3
| | | | | | | | | | We only really need the QWebEngineDownloadRequest, but the fact it was just that was in the private header. Pick-to: 6.8 Fixes: QTBUG-120370 Change-Id: I9bcd79e068e67ec0ed07ae31cfb2a0d4e011e22b Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Prevent OTR to non-OTR profile switching when the storage name is emptyAnu Aliyas2024-08-133-13/+10
| | | | | | | | | | | When switching from profile from OTR to non-OTR requires valid storage name. If it not there, then display a warning message and and don't switch to disk based behavior. Fixes: QTBUG-126312 Pick-to: 6.7 6.8 6.2 Change-Id: Id689c8b280b4070b9ecbf11c6001685ac4ffd2f3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove second parameter being passed to QSKIP()Edward Welbourne2024-08-135-37/+24
| | | | | | | | | | | | | | Prior to Qt 5, QSKIP() accepted a scope parameter, either SkipAll or SkipSingle. This has been ignored since 5.0.0, so remove all surviving uses of it. In addition, remove the W_QSKIP() macro, which just wrapped QSKIP and discarded this second parameter. It was redundant anyway, as QSKIP ignores all parameters after the first. Replace W_QSKIP() with plain QSKIP() while removing the ignored second parameter. Change-Id: Ia0aa5bb192c474c8530513fecb40f91ffeb2aeeb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Blacklist flaky tests for Bugfix week 2024/H2Daniel Smith2024-08-091-0/+2
| | | | | | Task-number: QTQAINFRA-6482 Change-Id: Ie2175bcc17fdcfdf6c6d6fce380891d63c85e244 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Add isDownload flag to QWebEngineLoadingInfoSzabolcs David2024-08-082-0/+25
| | | | | | | | | | | Page loads are internally stopped and intercepted by the download manager when the response indicated that the result has to be downloaded. Add an isDownload flag, so API users can distinct this case and not handle page load stops as an error. Task-number: QTBUG-119367 Change-Id: Iae7e435999a905c7ca64a8f0bb6457fffa80810f Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Fix webrtc manual test compilationMoss Heim2024-08-081-6/+6
| | | | | | | | QHttpServer no longer has a listen() convenience function, use a TcpServer instead. Change-Id: I53db234590d67eabd4e23b2a8397e931178f1155 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* tests: don't leak dialog windowsMoss Heim2024-08-081-11/+10
| | | | | | | | | Wayland platforms do not have guaranteed window activation, so sometimes the previous popup will still have focus from one test section to the next. Change-Id: I8aea7b47e730aa44c61855e95634329f72920538 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Blacklist failing testMoss Heim2024-08-081-1/+1
| | | | | | | | | This also does not work on Ubuntu 22.04 under 122-based Fixes: QTBUG-127758 Task-number: QTBUG-126049 Change-Id: Ie602a46ef1c3e5f8eb45ec27dda0a2ef350f032a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: avoid setting cursor positionMoss Heim2024-08-052-6/+1
| | | | | | | | Wayland cannot set the cursor directly, and these tests don't require it. Change-Id: Ic0b9e84fc7caac6a95842f0262ff90e5dff54a10 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: Use window device pixel ratioMoss Heim2024-08-051-1/+4
| | | | | | | | On Wayland the qGuiApp's DPR may not match a window's when there is fractional scaling. Change-Id: I71c1423a37699752b2b3d882f90f6d42a2d35883 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: use keyClick instead of press/release pairsMoss Heim2024-08-021-8/+4
| | | | | | | | This can sometimes trigger an assert as the popup window is gone after the keyPress is processed. Change-Id: I77c360888af31a18d08d92f2883315a93d91a00d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Call QtWebEngineQuick::initialize() earlier in testsMoss Heim2024-08-025-6/+21
| | | | | | | | | | We don't need to call it at all when the test is registered with W_QTEST_MAIN, and for QTEST_MAIN we should call it within the static initMain() function called prior to test object instantiation. Pick-to: 6.8 Change-Id: I92874d0ac2feede3ed687db52ca1e6f0358ec527 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: properly skip for missing WindowActivationMoss Heim2024-08-021-0/+4
| | | | | | | This affects the Wayland platform. Change-Id: I5164f00274da54ff222bc25bdc8a0abced15b574 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: skip tests that can't run on WaylandMoss Heim2024-08-024-0/+19
| | | | | | | | | | Using the clipboard, moving the window, and moving the mouse are all unsupported currently with Wayland. Skip them following a pattern in e.g. tst_qclipboard in QtBase. Change-Id: Idc6eaa60347ba2d2fd38c347ea5c2aca02f86b0f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Port to std::snprintf() and mark the module qsnprintf()-cleanMarc Mutz2024-08-011-1/+3
| | | | | | | | Pick-to: 6.8 Task-number: QTBUG-127110 Change-Id: I3f6cd72e3781b8cf0cc6ba1032eccf4ce485f989 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Workaround for setCursor issue with embedded viewsMartin Negyokru2024-07-252-0/+64
| | | | | | | | | | | | | | | | | | QQuickItem::setCursor maps the cursor position to the window while the Item's position is mapped to the View. If the View is moved inside its container, the offset is ignored on the Item. Ergo View.pos != Item.pos breaking hittesting of setCursor. Fix this by forwarding Item::setCursor calls to the View. It is safe since the Item shares its coordinate system with chromium and works as a proxy to the View. Fixes: QTBUG-111927 Fixes: QTBUG-123889 Fixes: QTBUG-115929 Pick-to: 6.8 6.7 6.6 Change-Id: Idee5ba043774952b554874ce654279cb5029ef1d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Revert "Use static logging categories everywhere"Kaloyan Chehlarski2024-07-255-5/+5
| | | | | | | | | | | | This reverts commit bd6e209152d042a08fc226a9e92ee1c04cf1954a. The change broke backwards compatibility with 6.8, because the relevant macros were introduced after the feature freeze, and are thus not part of the 6.8 release. This revert fixes the impeding backwards incompatibility whenever WebEngine 6.9 is released. Change-Id: I4626c4fe2647a5eb2a0729696cb80db6a47569a7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add manual test for printingSzabolcs David2024-07-245-0/+329
| | | | | | | | | | | | This test runs print() and printToPdf() APIs in different combinations with various layout, page size and margin settings to see how different QPageLayout and CSS settings behave when hitting each other. The generated results are saved in a specified directory as PDF files. These require manual validation. Change-Id: I1be08147cfea7fe61887d78fbdb6366d37f20b18 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Find text: Start new search when toggling case sensitivityKaloyan Chehlarski2024-07-232-0/+38
| | | | | | | | | | | | | Only toggling case sensitivity, without changing the text that's being looked up, would keep the helper in "find next" state, which in turn would keep otherwise invalid matches highlighted on screen. This change ensures that a new text search is initiated in cases like this. Fixes: QTBUG-127318 Pick-to: 6.7 6.8 Change-Id: I95b410b123dc09851f5aaefc8470f0656a88bb0d Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Fix webrtc manual testMoss Heim2024-07-231-7/+15
| | | | | | | | | Fixed compilation error due to mismatched signatures Fixed crash when no selection was made Change-Id: If1e6a70a40c04e211f5f7c9be99ac45642a11d63 Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Fix whitespace in webrtc manual testMoss Heim2024-07-231-21/+21
| | | | | | Pick-to: 6.8 Change-Id: I6aeaff890cb8c3ef4e362ab81cde50470083d39e Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Partially stabilize QML favicon testsKaloyan Chehlarski2024-07-222-15/+7
| | | | | | | | | | | | | | | It seems that the pattern... 1. trigger action 2. start wait()-ing on a signal spy 3. continue after the signal is received ...is somewhat cursed in QML, since the signal may trigger inbetween steps 1 and 2, which will cause the wait() to never return true. This change removes that pattern from the favicon tests, which will hopefully reduce the tests' flakiness. Pick-to: 6.7 6.8 Change-Id: I65cd3b8c8ae5fc855138eec94821eb932d999c3b Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix compiler warnings in tests and examplesPeter Varga2024-07-185-35/+38
| | | | | | Pick-to: 6.8 Change-Id: If371441d9b0d93fbd7a3e3e37e4f3780ddb52eb0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QWebEnginePermission: Post-API reviewKaloyan Chehlarski2024-07-037-159/+164
| | | | | | | | | | | | | | | This commit contains fixes for the issues found during the API review of the new permissions API. In particular: - All new enums are now scoped - Replaced isTransient with its opposite, isPersistent - Renamed Feature to PermissionType - Made origin() return a non-const QUrl - Renamed PersistentPermissionsPolicy members to be more concise - Fixed a couple of bugs in the implementation - Updated documentation Change-Id: Idf84e1c9ba3ae803ef4686e1caa7f3e6c198c87d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use static logging categories everywhereKaloyan Chehlarski2024-07-027-7/+7
| | | | | | | | | | | | Following fa4bd30caa079a3b1e5eac1bb4f17365f456b8f9 all usage of the Q_LOGGING_CATEGORY macro triggers a deprecation warning, and may even block certain build configurations. This change replaces all usages of the macro with Q_STATIC_LOGGING_CATEGORY instead, since none of the logging categories in WebEngine are meant to be exported to users. Change-Id: Icdebb7a3a8c987db3f34945cd0311aee52667a88 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Ensure deferred deletion of WebEngineQuickWidgetMartin Negyokru2024-06-281-0/+15
| | | | | | | | | | | | In some cases the event loop exits before WebEngineQuickWidget::deletLater is called. In this scenario the object will not be deleted. Fixes: QTBUG-126401 Pick-to: 6.8 6.7 6.6 Change-Id: I9de8640c6f8d3b0f04665bce664f8b91523ddb69 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Additions to QWebEngineClientHints (post API review)Szabolcs David2024-06-272-6/+19
| | | | | | | | | | | | - Make this class accessible from QML - Mark properties as FINAL - Change fullVersionList to QVariantMap to support it in QML - Access ProfileAdapter through QPointer instead of raw pointer to make it safer Pick-to: 6.8 Change-Id: Ib242059378aaf6fd2c5f176ba26ed6f94e2afd76 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Stabilize tst_QWebEngineProfile::permissionPersistenceKaloyan Chehlarski2024-06-241-1/+1
| | | | | | | | | For some reason, the server used to load pages sometimes refuses to stop(). This change adds a TRY_VERIFY to ensure it stops correctly. Pick-to: 6.8 Change-Id: I05c57e22ca5debbc7f02e48cbed40a30ce3ae43f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix warnings after 122 updateMartin Negyokru2024-06-201-0/+1
| | | | | | | | | Fix [-Wswitch] warnings. Test the newly added accessibility role. Pick-to: 6.8 Change-Id: Ieea34a759dd630a0b60eac2cd74d1420916a5b85 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make ImageAnimationPolicy a scoped enumAllan Sandfeld Jensen2024-06-201-3/+3
| | | | | | Pick-to: 6.8 Change-Id: I2c03c6d56d18f37e60b287c337c67718178fbb2b Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Docs: fix the QML docs for the PdfSelection::text propertyAlexei Cazacov2024-06-191-0/+4
| | | | | | | | | | | | | The QML docs described the "string" property, but the actual property name is "text". Add a selectAll() shortcut to the withdoc.qml manual test while we're at it, for easier checking of behavior. Fixes: QTBUG-126138 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: Ieab6188661d4e9b1c1f4dc4faaf355b94bdc3f4c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Correct license for test filesLucie Gérard2024-06-19153-153/+153
| | | | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I7ba480e5d9b9095ad6686c8b1c857f35caf17d04 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Clarify the OTR nature of default QQuickWebEngineProfilesSzabolcs David2024-06-181-1/+2
| | | | | | | | | | Since the default profile is OTR now, this behavior needs more mention in the documentation. Pick-to: 6.8 Task-number: QTBUG-126085 Change-Id: I26b5f05cc8c76982bc97deaecd0df835c8ad82fb Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Improve qtwebengine test utilsMoss Heim2024-06-111-2/+19
| | | | | | | | | - Add timeout parameter to loadSync - Add webActionLoadSync - Add setHtmlSync Change-Id: I7983c2a3548fe29f92b127d1760665fd34cb3b1f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update test commentMoss Heim2024-06-111-2/+1
| | | | | Change-Id: I92c81f1489729f01f0b1a093e70de363c3b4040d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Standardize include guards in test util headersMoss Heim2024-06-113-3/+13
| | | | | Change-Id: I618b3d4ce0cf7753864e0d45982e64304904b2a0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update Chromium for 122-basedMichal Klocek2024-06-071-0/+4
| | | | | | | | Blacklist dynamicFrame faliling test. Task-number: QTBUG-126049 Change-Id: I1bc03ce1987ed033d10322f1984c03e272e334b8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 122Michal Klocek2024-06-073-24/+32
| | | | | | | | | | | | | | | | | Includes following patches: * 340b36c Bind SpellCheckHost to a RenderFrameHost * f154285 Fix chrome://ukm webui after 122 update * 3e67d86 Adapt datalist test to new Chromium behavior after 122 adaptations * 76b532e Fix test failures in tst_accessibility * 8a9ecf5 Adapt IME test to new Chromium behavior after 122 adaptations * d65cd90 Fix to resolve the DCHECK failure during download operation * e956d1d Ensure DelegatedFrameHost's frame sink ID is registered Done-With: Anu Aliyas, Kaloyan Chehlarski, Martin Negyokru, Peter Varga Pick-to: 6.8 Change-Id: Ic5e8c0457c1633af18a8e11785041ab423e9362e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>