summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Add waits to datalist tests to counteract autofill throttleMarcell Brauner30 hours2-0/+19
| | | | | | | | | | | | | | | Chromium added a 100 ms throttle to AutofillAgent::AskForValuesToFill() in AutofillAgent::ShouldThrottleAskForValuesToFill() to avoid duplicate events. See: https://crrev.com/c/6354968 This change adds a 100 ms wait between AutofillAgent::ShowSuggestions() triggering events to counteract that. Pick-to: 6.11 Change-Id: I24f1609c714d956a68eecc1676e76cbaaff40474 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CMake: Don't yield error if qwebengine_convert_dict is unavailableJoerg Bornemann2 days1-1/+3
| | | | | | | | | | | | | Consider a cross-build of QtWebEngine where the host build doesn't provide the qwebengine_convert_dict tool. We have this situation on the CI where a MinGW build of the qtwebengine repo is used for the host and MSVC arm64 for the target. Check if the qwebengine_convert_dict target is available and bail out with a warning if it's not. Change-Id: I448d2a1bb64781d3847bb685f8f8a3fbe8cbd35e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Allow redirecting fetch() to cross origin resourcesSzabolcs David2025-11-274-0/+57
| | | | | | | | | | | | | | | | | We use CorsURLLoader since the 124-based Chromium. This performs a safety check on calling CorsURLLoader::OnReceiveRedirect(), since fetch() requests have more strict rules when accessing cross origin resources. This patch extends our dummy response with the Allow-Origin header (only in case of redirects), so the request interceptor API users won't hit this wall. Test case implemented by: Benjamin Terrier Task-number: QTBUG-140889 Change-Id: I8b1d2a94d4157c9d42684398fa69425e5706905d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Interrupt printing when QWEPage is destroyedMoss Heim2025-11-251-3/+51
| | | | | | | | | | | | | | | | | When a page is destroyed during printing, there is no view to emit printFinished() and yet the printer thread continues in the background until the job is finished. We can improve things somewhat by requesting an interrupt and exiting early in the printer worker thread. Then at least users do not wait around forever for the printer to be idle and deleteable. Add tests both for this case and basic printing with `print(QPrinter*)` Task-number: QTBUG-140232 Pick-to: 6.8 6.10 Change-Id: If43677b7ad8021d72dd945fd36c3263234692b95 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Revert "Allow redirecting fetch() to cross origin resources"Axel Spoerl2025-11-114-58/+0
| | | | | | | | | This reverts commit 48ba78f27354a0252d09410203ce4191d6129d57. Reason for revert: <New test is flaky> Change-Id: I563e53390999f76ff5582de5750f102eb7d42964 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Allow redirecting fetch() to cross origin resourcesSzabolcs David2025-11-064-0/+58
| | | | | | | | | | | | | | | | | We use CorsURLLoader since the 124-based Chromium. This performs a safety check on calling CorsURLLoader::OnReceiveRedirect(), since fetch() requests have more strict rules when accessing cross origin resources. This patch extends our dummy response with the Allow-Origin header (only in case of redirects), so the request interceptor API users won't hit this wall. Test case implemented by: Benjamin Terrier Task-number: QTBUG-140889 Change-Id: I7025fb69b5ac9b8763d61cb2bf0880dcc20721cf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add HTML inputmode global attribute supportPeter Varga2025-11-063-0/+117
| | | | | | | | | [ChangeLog][QtWebEngineCore] Added HTML inputmode global attribute support Fixes: QTBUG-141573 Change-Id: I40bdbb39b89fc9dc1a5d7a76a6210ec8c2f48372 Reviewed-by: Moss Heim <moss.heim@qt.io>
* Add chlid frame to qml api of webengineframeMichal Klocek2025-10-282-5/+25
| | | | | | | | | It seems that children property was overlooked. Add it so it is posible to crawl the frame tree. Pick-to: 6.10 Change-Id: Ie4e13ccbc695a4db3782ce2c993c74ebb3d1cc9a Reviewed-by: Moss Heim <moss.heim@qt.io>
* Introduce QQuickWebEngineFrameMichal Klocek2025-10-281-4/+8
| | | | | | | | | | | | | | | | | | | | QWebEngineFrame class includes QJsValue in its api, however to make it work it would require instance of Qml engine. In also means that using qwebenigneframe requires Qml module. Move the methods/logic to new class qquickwebengineframe, however keep the already added SMF and default constructor. Deprecate broken usage of functions taking QJsValue. This amends 3ee3548e4c663402848db3b1336bf56e7c6d327e. Task-number: QTBUG-139710 Pick-to: 6.10 Change-Id: Ia45a52e9d8759f6a4641f8a121e8e05cd60c2eaf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add qml frame testMichal Klocek2025-10-283-0/+97
| | | | | | | | | Add simple test to increase test coverage. Task-number: QTBUG-139710 Pick-to: 6.10 Change-Id: I277fa0c9b0201edd863af60d7e507bd7b7531717 Reviewed-by: Moss Heim <moss.heim@qt.io>
* Enable chrome://usb-internalsMarcell Brauner2025-10-131-1/+1
| | | | | | Change-Id: Ib4e66574a9cc2383832f1cb5a19083df84e069a5 Task-number: QTBUG-136784 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix -no-ssl buildPeter Varga2025-09-171-3/+10
| | | | | | | | Amends 671afae06 Add API for providing additional CA certificates Pick-to: 6.10 Change-Id: I7e40b9b24e319e89c94d13516ebbc896c8ba6f69 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove accidentally added qWarning statementAllan Sandfeld Jensen2025-09-071-1/+0
| | | | | | | Pick-to: 6.10 Change-Id: I6a1a47b98c93fb07f160cba72d9f0cae7f223bc6 Reviewed-by: Kaloyan Chehlarski <kaloyan.chehlarski@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Disable chrome://extensions WebUI with off-the-record profilePeter Varga2025-09-021-74/+91
| | | | | | | | | | It is not supported, see ExtensionActionManager constructor in //extensions/browser/extension_action_manager.cc Task-number: QTBUG-61676 Pick-to: 6.10 Change-Id: I1b4dbe14fd3ff5e1b40ae7fda2b93e4c93945e8c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Expand QWebEnginePermission autotestsKaloyan Chehlarski2025-08-2010-591/+812
| | | | | | | | | | | | | | Adds a new test tst_QWebEnginePermission. Relevant test cases are moved from other tests. New tests cases make sure to check all permission types, under all persistence policies. The exception is the MouseLock permission, which is currently untestable due to Qt Quick limitations on when mouse lock can be granted. Pick-to: 6.10 6.9 Change-Id: Ibc3d7cdec241ddad4937fe5c1978db11bfa6c515 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* More patient testsAllan Sandfeld Jensen2025-08-193-21/+21
| | | | | | | | Increasing timeouts to pass more tests on the ignore arm64 platforms. Pick-to: 6.10 Change-Id: I17ce98a90a2aa2bccb67fe5576af0ddbc9cb127f Reviewed-by: Moss Heim <moss.heim@qt.io>
* Atempt at stabilizing our most flaky testsAllan Sandfeld Jensen2025-08-184-8/+10
| | | | | | | Pick-to: 6.10 Change-Id: If192a5b8e6251dbe76c6a0363212bd64292c6d89 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io>
* Stabilize scrollPosition auto test on fractional zoom level devicesSzabolcs David2025-08-171-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This test fails for example when the system has a 125% global zoom level set. Inside Chromium: The requested pixel positions will be scaled up by the device pixel ratio (1.25). The resulting fractional number will be floored down and used for scrolling. In RenderWidgetHostViewQt: We are informed about the scroll event and the non-fractional integer is provided for us. We try to scale this value down by dividing with the DPR to get back the requested pixel position - but the result will never be accurate becase of the lost fractional part in Chromium. In this example, the difference between the requested and the actual scroll position is outside of the tolerance level of qFuzzyCompare. The good news is Chrome behaves the same way, it provides the same inaccurate fractional scroll position in JavaScript as WebEngine (both in the API and in JavaScript). So the best we can do is relaxing the test by implementing a less strict comparison function for floats. Pick-to: 6.10 6.9 Change-Id: I2e924fac4344126727c347098b7f17da700181e0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Attempt to stabilize tst_QWebEngineUrlRequestJob::requestBodyAllan Sandfeld Jensen2025-08-161-1/+1
| | | | | | | | Close buffer open for writting before sending it Pick-to: 6.10 Change-Id: I58f4d7cb31fe4f38a445c1bf7dd65a220ace36b4 Reviewed-by: Moss Heim <moss.heim@qt.io>
* Attempt to stabilize tst_QWebEnginePage::mouseMovementPropertiesAllan Sandfeld Jensen2025-08-161-0/+1
| | | | | | | | Ensure exposure before requesting activation Pick-to: 6.10 Change-Id: I488e01098b06c4cdc7ead2841548c19e944bab8d Reviewed-by: Moss Heim <moss.heim@qt.io>
* Make tst_QWebEngineView more patientAllan Sandfeld Jensen2025-08-131-3/+3
| | | | | | | | | Trying to fix flaky tests by using feedback from ignored arm64 failures. Pick-to: 6.10 Task-number: QTBUG-136613 Change-Id: I3673cf2e12eba555d086cca7066786eb7903a60b Reviewed-by: Moss Heim <moss.heim@qt.io>
* Stabilize IME tests in tst_QQuickWebEngineViewKaloyan Chehlarski2025-08-131-4/+4
| | | | | | | | | On rare occasions, qApp->focusObject() may return nullptr even though JavaScript reports that the object should be in focus already. This change wraps those calls in QTRY_VERIFY. Change-Id: I8d36f49e3587e2ea3de1f43c48ee65a82ddf2b38 Reviewed-by: Moss Heim <moss.heim@qt.io>
* Add PersistentCookiesPolicy::OnlyPersistentCookiesMoss Heim2025-08-112-0/+7
| | | | | | | | | | | This new policy prevents session cookies from being saved to disk even for crash recovery purposes. Persistent cookies are still stored. As a drive-by add a missing data row in a QWebEngineProfileBuilder test Task-number: QTBUG-135799 Change-Id: I55364aa96c07ce83d3f30d812450421354310d72 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix async request calls in test httpserverMichal Klocek2025-08-052-1/+2
| | | | | | | | | | | | | | | | When we create in tests request handler and process responses, the httpserver checked response isClosed() to bail out from further processing. However, disconnecting from the client is an async process, therefore proper check should be isClosing(). Leave also isClosed() in case handler does some re-entry into qt message loop. Note this change can have side affects if given test case relied on further processing. Pick-to: 6.10 Change-Id: I056c0da74000e1801ca756225db03b0f0209f360 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add setting to trim accessibility identifiersKaloyan Chehlarski2025-08-013-0/+30
| | | | | | | | | | | | | | | | | | | By default, Qt's accessibility code will provide an object's full accessible hierarchy inside the Identifier string that's passed to a screen reader or automation software. This may be undesirable for users who use WebEngine for automated testing. This change adds a new QWebEngineSetting that disables this behavior, and instead makes sure that the HTML 'id' attribute is passed cleanly to accessibility software. When there is no 'id' attribute, the default Qt behavior still applies, and the Identifier string is still the full object hierarchy. Fixes: QTBUG-134762 Change-Id: Ica0b626c05b5cdca0bad83280ba15183ff9480f6 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add test mock delegate pluginMichal Klocek2025-08-0120-30/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previews patch changed the way ui delegates are loaded. Even though all delegates were tested on device it failed on ci. The reason was that test mock delegate still relayed on old 'way' of loading delegates. As we now load plugins, change test ui delegates to be a plugin. Add new qml module which contains both TestMockDelegates and TestParams components and does not depend on Qt Quick Controls. Missing delegates are taken from WebEngine.ControlsDelegates as it was before. Note we do not use plugin in this case and we link with backend library statically as CI compiles test with qt-cmake-standalone-tests, but does not install anything, meaning plugin would not be deployed on testing node. The alternative would require moving mock delegate 'plugin' to src directory, which looks messy. Set proper QTWEBENGINE_UI_DELEGATE_MODULE for qml_tests. Fix import for tst_uidelegates. Pick-to: 6.10 Change-Id: I01b6d58f10028378933272446c2afc3b98dcfed9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix manual tests compilationMichal Klocek2025-07-311-1/+1
| | | | | | | | | This amends dfd0544c69de9d4e028c34a2539340944bb37848. Pick-to: 6.10 Change-Id: Ifca8513f252749a3dabbea967851392b01c31c03 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu>
* Fix race condition in basicFilterOverHTTPMichal Klocek2025-07-313-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fav icon service is not bound to overall navigation status meaning, page can be loaded, but fav service can be still fetching icons. Moreover if new fav icon request comes to favicon service and the previous failed request did not manage to set WasUnableToDownloadFavicon the new request is fired. This means that tests which are handcrafted and count http request can suffer from race condition as there is currently no way to check it fav icon service has completed all the processing. To workaround the issue simply add fav.png to basicFilterOverHTTP test case and wait for iconUrlChanged signal, this way we can be sure the fav icon http fetches are done. Note, the change however requires updating of number of fired calls in spies, as before the change fav icon was considered not downloadable (unless it was run on windows due to mentioned race condition), now we have fav icon so any reload will trigger new fetch. This should not have effect on overall logic if the test. Pick-to: 6.10 Fixes: QTBUG-138736 Change-Id: Icdd4652becd39ba52dd392901907399817b9ae18 Reviewed-by: Kaloyan Chehlarski <kaloyan.chehlarski@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QWebEngineExtensionManager: make signal names simplerMartin Negyokru2025-07-303-16/+16
| | | | | | | | | | Update tests accordingly. Found in API-review. Pick-to: 6.10 Change-Id: Ife361cf95db6953413fe34392caf6fce3296c42a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QWebEngineExtensionManager: rename installDir to installPathMartin Negyokru2025-07-303-5/+5
| | | | | | | | | | | Rename installDirectory() to be consistent with QWebEngineProfile. Update tests accordingly. Found in API-review. Pick-to: 6.10 Change-Id: I8e9c9760950c0bf65a75292a22a1abc1f7deba91 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Tests: fortify window activation testsMoss Heim2025-07-167-19/+95
| | | | | | | | | | | | | | | Some tests require window activation so they can interact and query objects with active focus. For those, merely exposing the window is not enough because Ubuntu's default WM settings do not guarantee activation for new windows. We request that explicitly and wait on activation. We also need to disable those tests on platforms that don't support QWindow::requestActivate(), add a new header with a macro based on qtdeclarative tests to support that. Pick-to: 6.10 6.9 6.8 Change-Id: I7d80310e2318f9001b2dd5c581209e75b0c599fe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 134Allan Sandfeld Jensen2025-07-145-107/+2
| | | | | | Pick-to: 6.10 Change-Id: I9615f0a095843fdf295e454a93476cf349f7fc76 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* tests: fix failing uidelegates testsMoss Heim2025-06-111-6/+18
| | | | | | | | | | | | | | | | | On Ubuntu it seems the application is not guaranteed to have focus just from showing the window. Take a solution from qtdeclarative tests (e.g. tst_qquicktext, tst_qquickmenu) where we also call requestActivate() and qWaitForWindowActive() rather than waiting on a focusObject to exist. Note that this will not change anything on Wayland where window activation is not supported by default/design. We should probably skip there; this is also consistent with qtdeclarative tests. Pick-to: 6.10 6.9 Fixes: QTBUG-137447 Change-Id: Ie19f6dcc0c2b9d1d45805cba8e63e5007f87c115 Reviewed-by: Anu Aliyas <anu.aliyas@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix accessibility for <p> tags with Windows NarratorKaloyan Chehlarski2025-06-051-3/+3
| | | | | | | | | | | | | | | | QAccessible::Paragraph maps to a Text control on Windows, which causes Narrator to completely ignore its child nodes. Since even a simple <p>Content</p> generates two nodes, a nameless parent kParagraph and a named child kStaticText, the result is that Narrator will see a Text node with no name, and simply read "text". This change maps the kParagraph role to QAccessible::Grouping, which allows Narrator to see its child nodes and read their contents aloud. Fixes: QTBUG-134055 Pick-to: 6.10 6.9 6.8 Change-Id: I96d4262bd4149f1dec50d47491263d0b022d4b83 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix accessibility for tablesKaloyan Chehlarski2025-06-051-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | This change modifies a few of the table-related methods inside BrowserAccessibilityInterface to use corresponding specialty methods from Chromium's a11y implementation, instead of relying on manually extracted attributes. This fixes table contents always being reported as 'blank' to screen readers. The kRowHeader and kColumnHeader roles are now exposed as Cell to Qt (and thus, to the system), which is consistent with what Chromium does; exposing them to Qt as QAccessible::Row/ColumnHeader causes some issues when navigating with VoiceOver on macOS. The caption() method is now implemented as well. macOS-only implementations of certain platform methods related to tables have been copied over as well. This fixes some crashes when iterating through children. As a drive-by, this also fixes a rare a11y-related crash when in the middle of deleting a page. Pick-to: 6.10 6.9 6.8 Fixes: QTBUG-136622 Change-Id: I157bece10d3c2261722d7f70e2b879c1d462b137 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix QWebEngineLoadingInfo::errorString()Szabolcs David2025-06-051-0/+49
| | | | | | | | | | | | | | When we try to deduce error messages from HTTP error codes, the result of error_page::LocalizedError::GetErrorDetails() can contain empty HTML placeholders for the host name or the full URL. Replace these with proper URL information to get grammatically correct error description. Moreover, prevent filling errorString with misleading error message when the load was actually successful. Pick-to: 6.10 Change-Id: I6ef589e6d31336a4916eb28b17ca14fac56c61a1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Restore default locale at end of tests that set itEdward Welbourne2025-06-052-2/+9
| | | | | | | | | | | | | Leaking the change to later tests would potentially conceal locale-dpendencies in them, or cause failures that might appear flaky due to vanishing on the first rerun (unless the test that set the locale also happened to be rerun). Do this using a scope guard, rather than by setting at the end of the function, since the latter gets missed when the test fails or skips. Change-Id: Ib756afefaa4e73f47ca78543767da4ffda965286 Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
* Normalize signal/slot signatures 2025Marc Mutz2025-06-045-19/+19
| | | | | | | | | | | This is the result of running util/normalize on the code base. The following manual edits were needed: (none) Pick-to: 6.10 6.9 6.8 6.5 Change-Id: Ia59174aaf154559f7445e13d059723a282f75aae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* cmake: PdfWidgets/Quick - fix dependenciesTim Blechmann2025-06-041-0/+1
| | | | | | | | | | | PdfWidgets and QdfQuick should publicly depend on Qt::Pdf/Quick and only privately on PdfPrivate / QuickPrivate Amends 209778ed9a167c156b448689191d2a6a381a6880 Fixes: QTBUG-135974 Pick-to: 6.9 6.10 Change-Id: I9cdcc6d6fd6cd0a11691025580f2fd4a41325282 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Support extension service workersMartin Negyokru2025-06-044-0/+46
| | | | | | | | | | | | | | | | | | | | | Extension service workers are core part of the ManfestV3, replacing background scripts from ManifestV2. Extension APIs (eg. chrome.tabs) are only available in these script contexts. This change implements the required methods to setup worker contexts. * Forward the service worker events from the renderer to the extension binding system. The binding system responsible for adding the `chrome` object and other API objects to the context. * Register the ServiceWorkerHost interface binder to enable ipc between the browser process and service workers. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: I68c539f5ce28b7a7293c325705248bb9eb53ddc0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add auto tests for the extension manager APIMartin Negyokru2025-06-0212-0/+433
| | | | | | | | | Test QWebEngineExtension and QWebEngineExtenisonManager APIs. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: Ib697bdca2ec1d7f9e86ab9ea88e210dfeb2e1780 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix test on qemu-arm64Allan Sandfeld Jensen2025-06-011-1/+1
| | | | | | Pick-to: 6.9 Change-Id: I3d86bd8caa745e36fefe4b44534b39cf900a8dbf Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add support for extension WebUIAnu Aliyas2025-05-301-1/+1
| | | | | | | | | The WebUI can be accessed using the URL chrome://extensions This will list all the enabled and disable extensions and also provides a means to load extensions. Change-Id: Iddd61a858d100f292f7214e53a1ea753228af0b5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add API for extension managementMartin Negyokru2025-05-294-0/+348
| | | | | | | | | | | | | | | Introduce QWebEngineExtensionManager and QWebEngineExtensionInfo. The manager has methods to load and install Chrome extensions from the filesystem. QWebEngineExtensionInfo provides information about a loaded extension. The current state of our js extension API support is very limited meaning most of the extensions downloaded from Chrome extension store won't work. Adding support for these APIs will be done in followup patches. Fixes: QTBUG-118452 Task-number: QTBUG-61676 Change-Id: I017ad5e8d2ba963afbd2f31ac36fee9451a951bd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add API for providing additional CA certificatesKai Uwe Broulik2025-05-276-0/+189
| | | | | | | | | | This allows to provide additional certificates that are considered when verifying a certificate. This is done by the cert verifier downstream of the platform-specific cert store. Fixes: QTBUG-50586 Change-Id: Ie90547f1013f22f994aaff536fadf906a44a88ef Reviewed-by: Moss Heim <moss.heim@qt.io>
* Client Hints: Improve version listsSzabolcs David2025-05-221-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several issues affecting Sec-CH-UA and -Full-Version-List, because the general algorithm which extends and shuffles these lists was not used in WebEngine. At the current version of Chromium we can't use the corresponding user agent utils functions, because they only allow one extra brand/version pair besides the two generated (Chromium and Not-A-Brand) ones. This change implements a simplified method to extend and shuffle the version lists to follow the behavior of Chromium and support more than three elements. QTBUG-133799: The order of brands and versions are still not customizable by the API user, but it is permutated in each major version of Chromium to comply with the standards. To allow customization of the order seems to be impossible without changing our public API. QTBUG-133708: The missing values of Sec-CH-UA are generated from the full version list, not customizable individually. This way it keeps the same values and the same algorithmically generated order as the full version list. Task-number: QTBUG-133711 Task-number: QTBUG-133708 Task-number: QTBUG-133777 Task-number: QTBUG-133799 Change-Id: I96f214ce54190666a34779130a04b56f600abef7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Moss Heim <moss.heim@qt.io>
* Turn webEngineCertificateError into a well-behaved value typeUlf Hermann2025-04-101-0/+1
| | | | | | | | | | | | | Allow a nullptr as the controller and add an "Ok" value to the enum to signify "no error". This is in line with the "OK" value in Chromium's net_errors.h. Furthermore, add a public default ctor to allow QMetaType to create it. Task-number: QTBUG-108649 Fixes: QTBUG-135032 Pick-to: 6.9 6.8 Change-Id: Id06db78f273805ba117eefaa0ada3eac2f538962 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix flaky tst_qwebengineview::inputContextQueryInputPeter Varga2025-03-311-0/+1
| | | | | | | | | | TestInputContext relies on focus object. Wait for the focus object to be set before trying to record input. Pick-to: 6.8 6.9 Fixes: QTBUG-128440 Change-Id: Idc4a985d0f7305d13a4cb18f69da542c5e0469bd Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* QtWebEngine auto-tests: use a function provided by QTestAnu Aliyas2025-03-274-18/+6
| | | | | | | | | Instead of having code-duplicates use the function provided by QTest. Task-number: QTBUG-132645 Change-Id: Ica3d4653ab76127f0a7f55014594a83f1c8ee87f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io>
* Avoid clipping of the popup window in webengine quickAnu Aliyas2025-03-271-1/+9
| | | | | | | | | | | Currently webenginequick uses a window as popup, and the contents are getting clipped with respect to the parent's boundary. To avoid this, set the transient parent instead of the parent. This is based on the documentation. Fixes: QTBUG-132794 Change-Id: I527ae55d130bc122c903a39738ffea5cec29eb90 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>