summaryrefslogtreecommitdiff
path: root/tests/auto/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Assert that the primary screen is available before using itMichael Brüning2023-05-171-0/+2
| | | | | | | | Does not fix the underlying issue, but may give us more meaningful information about the seemingly random crashes we have seen on the CI. Change-Id: I239fd05bf6a7add38e17830aad59f961036871d9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Test WebWindowType parameter in CreateWindow()Anu Aliyas2023-05-051-0/+74
| | | | | | | | | - Added testcase to test WebWindowType parameter in CreateWindow. Fixes: QTBUG-112645 Pick-to: 6.5 Change-Id: I4f6bf452afcceeaa67ff07b879a2acd836bd8fac Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix user script management when subframes are presentAllan Sandfeld Jensen2023-04-301-0/+33
| | | | | | | | | | Only the main frames should administer scripts associated with it. Pick-to: 6.5 Fixes: QTBUG-113109 Change-Id: Ibda66f55ef99da632134a9de1425797262faba9b Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu>
* Better handling of interrupted PDF printingSzabolcs David2023-04-051-0/+14
| | | | | | | | | | | | | | | | | | | | | - Document the fact Stop WebAction can interrupt the in-progress PDF generation. - Update PrintViewManagerQt::PrintPreviewDone(): Normally IsPrintRenderFrameConnected() implies IsRenderFrameLive(), but we have to check both to avoid crash when render process exits. (Like Chrome does.) - Update PrintViewManagerQt::RequestPrintPreview(): Handle that case when print preview params were sent between processes at the beginning, but it was interrupted before RequestPrintPreview() could start PDF generation. - Add a simple auto test to catch crashes Pick-to: 6.5 Task-number: QTBUG-108154 Change-Id: I8a4f9cc97ddcf9a165d66a5981d93a023858fbc1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Increase timeout in proxy pac testMichal Klocek2023-03-201-1/+1
| | | | | | | | | | According to ci this test would succeed in 13000ms on qemu. Fixes: QTBUG-111939 Change-Id: I21911920961a885eee38dcd3261e46b497a1c251 Reviewed-by: Michael Brüning <michael.bruning@qt.io> (cherry picked from commit f576588c85f4f635d38f56a1db087a50c19add42) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix initialization of QWebEngineDownloadRequest::totalBytes for WidgetsPeter Varga2023-03-011-2/+2
| | | | | | | | | | | | QQuickWebEngineProfile already initializes totalBytes. Also clean up QWebEngineDownloadRequestPrivate and fix typo in documentation. Pick-to: 5.15 6.4 6.5 Fixes: QTBUG-104869 Change-Id: I8c4b79c076ddc63180960e22a9488b45ff6c4402 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Increase timeout to fix flaky testAllan Sandfeld Jensen2023-02-131-2/+2
| | | | | | Change-Id: Ieb9fa54ab05649da555f586c5f9c8f318bdaa774 Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add test for libc interceptionMartin Negyokru2023-02-093-0/+53
| | | | | | | | | Test intercepted getaddrinfo(). Building with 'as-needed' option is a must to reproduce QTBUG-110287. Task-number: QTBUG-110287 Change-Id: I5ec2554c3b73efc9b1f1fdd7da0b6c7cbb360f25 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Blacklist tests blocking integrationsAllan Sandfeld Jensen2023-02-062-0/+5
| | | | | | | Pick-to: 6.5 Task-number: QTBUG-110578 Change-Id: Ic063d08246351709d02642abc0747b5fbe9e2ef7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add InputEventObserver to child framesMartin Negyokru2023-01-171-0/+108
| | | | | | | | | | | | | | | | | | | | RenderWidgetHostViewChildFrame does not Ack mouse wheel events. RenderWidgetHostViewQt::handleWheelEvent expects Ack on every event. Origin-Agent-Cluster is a HTTP response header that instructs the browser to prevent synchronous scripting between same-site cross-origin pages. Chromium also uses this header as a hint that an origin should get its own separate resources, such as a dedicated process. That's where child frames are created. This feature is implemented in chromium 88. Add observer to child frames that responds to wheel events. Add test for wheel/scroll events on child frames. Pick-to: 6.5 Fixes: QTBUG-109348 Change-Id: I20439a9068c5c2f8416a350891a6cf8830e1a5d6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix contentsSize and scrollPosition on High DPI screensPeter Varga2023-01-131-3/+4
| | | | | | | | Provide the same values what are available from JavaScript. Pick-to: 6.5 Change-Id: I9e047d749279934d0c8ccd45710571e8c7745859 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for 108-basedAllan Sandfeld Jensen2023-01-062-2/+2
| | | | | | | Pick-to: 6.5 Fixes: QTBUG-105147 Change-Id: I0022964903f3443cc97843c62468ab9be8ae2ed8 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Deprecate Quota Permission Request APIPeter Varga2022-12-081-27/+26
| | | | | | | | | | | | | | | | | | | | | | | | Requesting host quota is no longer supported by Chromium. navigator.webkitPersistentStorage has became an alias for navigator.webkitTemporaryStorage after the Chromium 106 update. Requesting quota for temporary storage is needless because the allocation is automatic and storage can't be requested beyond the maximum limit. The logic of the persistent storage will be entirely removed in the next Chromium update so just deprecate the API and remove the corresponding implementations. [ChangeLog][QtWebEngineCore] Deprecate QWebEnginePage::quotaRequested() signal and QWebEngineQuotaRequest class. The signal is not emmitted anymore. [ChangeLog][QtWebEngineQuick] Deprecate QWebEngineView.quoataRequested() signal. The signal is not emitted anymore. Task-number: QTBUG-56354 Change-Id: Ie397598c416d9e811270ba56a97f8984948277f7 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add Support for Client Hints HeadersAllan Sandfeld Jensen2022-12-041-0/+28
| | | | | | | | | [ChangeLog][WebEngineCore] Client hint headers now added to HTTP requests Fixes: QTBUG-107451 Change-Id: I450fe1fe782b702fc81a3d90c82c0ece6a19ea45 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add auto tests for fragment navigation on custom URL schemesSzabolcs David2022-11-282-1/+188
| | | | | | | | | | | Since the corresponding third party fix involves making difference depending on the URL syntax, and the issue mentions different behavior in case of relative and absolute URLs, test all four syntax with all four types of URL with both relative and absolute links. Task-number: QTBUG-102058 Change-Id: Idfcc899e33241f42c588b9aae04c5b42b0e07ccd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-283-8/+10
| | | | | | Change-Id: I2fe91c06ce91dfaace7825a0589b56ee375479b6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Monthly re-run of clang-tidy qt-* checks (11/2022)Marc Mutz2022-11-111-21/+21
| | | | | Change-Id: Ife7ebf1bf0b1db867e0ea195d9a8a3b4abd9a1b7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix GCC compiler warnings in auto testsPeter Varga2022-10-133-9/+13
| | | | | | Pick-to: 6.4 Change-Id: I9daae92749e7dbe0580c17e8f0325e2199b2ed17 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-1113-582/+582
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); a.k.a qt-port-to-std-compatible-api V4 with config Scope: 'Container'. Change-Id: I3e6fef8eca212da0c4f0b464545ba96183b4476f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add missing header to tst_qwebenginepageMichal Klocek2022-10-062-2/+3
| | | | | | | Fixes: QTBUG-107113 Change-Id: I53a540d05bcafefad282ee00091eb421d07992c6 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Stop using deprecated QMouseEvent constructorShawn Rutledge2022-10-061-2/+5
| | | | | | | | | Followup to qtbase 6b2c9b81afdb3d1d9b7a2e87819e9545b14810f3 Pick-to: 6.4 Change-Id: Ib879ee176c4fd1fc4bdbac7161ea20cf5c59a247 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix using QNetworkReply with custom url schemesAllan Sandfeld Jensen2022-09-121-7/+52
| | | | | | | | | | | | | Sequential QIODevices are allowed to report atEnd() when they have no data to read, but add more data later. To avoid a regression with our own tests, treat a read error from a sequential device at end, as end-of-data. Pick-to: 6.4 6.4.0 6.3 Fixes: QTBUG-106461 Change-Id: Iac1233e6daa978c827c37a7fd3131e2fce764111 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix crashes of combobox popup testsMichal Klocek2022-08-261-9/+22
| | | | | | | | | | | | | | | | Offscreenwindow from quickwidget is a top level window, which was from time to time used as "popup" window in the test instead of widgetwindow of webengineview. Check if window is offscreenwindow and do not consider it as valid window in the test. Moreover popup should be closed in the end of test, however checking for offscreen window would result in bogus outcome as offscreen window is destroyed before quickwidgetwindow. Pick-to: 6.4 6.3 Task-number: QTBUG-105342 Change-Id: Ibfeab0cad0bc43690c2458cb97738b4b5ea132f4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-2619-19/+19
| | | | | | Task-number: QTBUG-105718 Change-Id: I2ad190e5536cdbdc8d2656e61892545d66911a02 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Reestablish default config for embedded buildsAllan Sandfeld Jensen2022-08-261-0/+3
| | | | | | | | | Was missing from the CMake switch-over Pick-to: 6.4 Change-Id: I0171d395f9e66c072e368b7019539fc29ff865b8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix initial widget focusPeter Varga2022-08-241-13/+43
| | | | | | | | | | | | Avoid WebEngineQuickWidget::rootObject() to steal focus from the content item (RenderWidgetHostViewQtDelegateItem). The root object is supposed to keep the content item alive and not handling input events. Fixes: QTBUG-105072 Pick-to: 6.4 Change-Id: I18e8ff39bfe338b742416bc56f6937edcfd2bc21 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Increase timeoutsAllan Sandfeld Jensen2022-08-176-10/+10
| | | | | | | | | | Trying to pass on qemu-arm64 Pick-to: 6.4 Task-number: QTBUG-105342 Change-Id: I5eca4ef2235d26b88207decd66b06c30b9f9972f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix single process crash when proxy pac is usedMichal Klocek2022-08-053-8/+30
| | | | | | | | | | | | | | | | | | Using proxy v8 resolver ends up in race condition when render thread tries to evaluate extension handle and v8 proxy resolver evaluates proxy pac script. Disable v8 proxy resolver for single process mode. Issue tracked upstream http://crbug.com/474654 Modify the unit test to catch the crash case, the test loads now network resource but it does not matter as we do not check for failure or success. Fixes: QTBUG-104436 Pick-to: 6.4 6.3 Change-Id: Id3221d1b8b3896f0ced3d0cd7cb9d9eceeb929cc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Adaptations for Chromium 102Allan Sandfeld Jensen2022-08-041-5/+10
| | | | | | Pick-to: 6.4 Change-Id: I7ef0ad616f2ea0fae482253335e95998aa2d360e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 100Allan Sandfeld Jensen2022-08-042-10/+10
| | | | | | Pick-to: 6.4 Change-Id: I217c87657f544a2e868de7291353ff1143e20902 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-281-2/+1
| | | | | Change-Id: I31bd3dd7d7be0f32b999b3874cc996815758c146 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-0719-0/+57
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I118bd63694cfe2c9a413af4a38828a31727f8e86 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-2215-416/+30
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Support HTML5 <datalist> elementPeter Varga2022-06-191-0/+152
| | | | | | | | | | | | | | | | | The datalist uses Chromium's autofill component to fetch and filter predefined options in the list and autocomplete the field with the selected option. Autofill component is added to build and bound to WebEngine. All the unnecessary autofill features for datalist are supposed to be disabled: payment/credit card support, password manager, save profile data, store suggestions in database etc. Custom popups for the dropdown are implemented for Widget and Quick. Scrolling in dropdown is not implemented in this change. Fixes: QTBUG-54433 Pick-to: 6.4 Change-Id: I155d02d6dbc9d88fbca4bc5f55b76c19d0ba7a9d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update ChromiumAllan Sandfeld Jensen2022-06-131-1/+1
| | | | | | | | | | | | Submodule src/3rdparty 6559e00a3..88398c89a7b: > Fix broken bundled zlib for cross compilation > FIXUP: Fix url_utils for QtWebEngine > Make sure we do not compile minizip from 3rdparty > Trim down some dependencies of push messaging Pick-to: 6.4 Change-Id: I3062f536fd144d00f72ea783ddcc56931a46a98f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid extra window after change of pageAllan Sandfeld Jensen2022-06-111-0/+1
| | | | | | | | | A widget created for an item in a viewless page, still needs to be tracked as a widget. Pick-to: 6.4 Change-Id: I9d571916b28b1cb2b8bd184d008255b9af105c33 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Switch from QT_NO macros to feature checksAllan Sandfeld Jensen2022-06-103-5/+7
| | | | | | | | | | | This is safer by ensuring we are checking for a feature that is defined. For some reason, the openssl feature is a private feature, so we need to include the private header to access it. Pick-to: 6.4 Change-Id: Idf7f3baba33e5188f206f5be1b8a0bfd75e79d03 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Create a RWHV delegate in coreAllan Sandfeld Jensen2022-06-093-3/+25
| | | | | | | | | | This is adapting the Quick code for shared use with widgets, and allows us to use it from QWebEnginePage. Pick-to: 6.4 Fixes: QTBUG-96377 Change-Id: I3f09c1a949eff86d80fbe6c513dc66e3f9f2f611 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Do not reset favicon for same document navigationsPeter Varga2022-06-071-0/+37
| | | | | | | Fixes: QTBUG-103735 Pick-to: 6.3 6.4 Change-Id: Iee0c09cde16a825097b7c1c014655476989922c0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* unblacklist passing tests 2022Anna Wojciechowska2022-06-051-12/+0
| | | | | Change-Id: I3eec851a59e49c700945268c1421d18f4868d3c5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix assert after qtbase changeAllan Sandfeld Jensen2022-05-311-10/+10
| | | | | | | | | Avoid using high finger ids. Pick-to: 6.3 Task-number: QTBUG-103859 Change-Id: I4be5466b094dec1cc084ecb7ac61448a93c02637 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Implement File System Access permission APISzabolcs David2022-05-261-6/+27
| | | | | | | | | | | | Allow web pages to safely access the local file system by exposing a permission API. Permissions are stored in-memory. The built-in access rules are the same as the behavior of Chrome: JS can't request access to system libraries, sensitive directories and the application itself. Task-number: QTBUG-97829 Change-Id: Ic675422cafbad5a90243b4fa8f0749c46afa192c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix local->remote user navigationAllan Sandfeld Jensen2022-05-251-0/+65
| | | | | | | | | Specifically allow user initiated navigation of the mainframe. Pick-to: 6.3 6.2 Fixes: QTBUG-103778 Change-Id: I4e3d6b4fb606bd0c3cf66e090fba3c97c8c535b4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Keep page's zoom level on loading new urlsKirill Burtsev2022-05-151-13/+37
| | | | | | | | | | | | Ammends d236c5a8a3. Zoom level was set as a temporal one, which is invalidated each time when a renderer process or widget are changed (on new navigation, for example), so it needs to be reapplied. Pick-to: 6.3 6.2 5.15 Fixes: QTBUG-101030 Change-Id: Iecff9686fbe2b79e99b46f67cab92f66127be085 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add NavigateOnDrop settingsAllan Sandfeld Jensen2022-05-132-4/+35
| | | | | | | | | | Some applications want this to avoid users navigating away from their app content. [ChangeLog][Settings] NavigateOnDropEnabled added, enabled by default. Change-Id: I2cc370f60ef42c708042cbc2503207f8254cf932 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Fix touch input for html's popup in quick implKirill Burtsev2022-05-122-12/+87
| | | | | | | | | | | | | | Ammends 292f573f4e. Now that touch events are forwarded to popup delegate also instead of synthesized mouse events, the bug with touch event being ignored became present. Also extend testing of touch events for html popups. Task-number: QTBUG-79254 Fixes: QTBUG-103217 Pick-to: 6.2 6.3 Change-Id: I097a6617493355c7603fef8eb41025e299a6e809 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add convenience constructors to QWebEngineViewAllan Sandfeld Jensen2022-05-091-11/+7
| | | | | | | | Make it easier to use alternative profiles without having to use QWebEnginePage directly. Change-Id: I8406c9ee3b453f7ff45e64bb05d0f5ad57e389c4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix navigation to non-local URLsAllan Sandfeld Jensen2022-04-262-2/+10
| | | | | | | | | They are passed in another part of the DropItem object. Task-number: QTBUG-102192 Pick-to: 6.3 6.2 5.15 Change-Id: If52a88ce2688c25ea0edcc0d1e8f962f2cdd29dd Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Introduce http status code domain for loading infoKirill Burtsev2022-04-181-8/+8
| | | | | | | | | | | | | | | | Fix inconsistency in reporting load info error category for http status codes, which across versions was reported either as internal error category or just no error domain. Add new separate domain for http status codes. [ChangeLog][QWebEngineLoadingInfo] Added HttpStatusCodeDomain for http status code range of errors Fixes: QTBUG-94963 Change-Id: I9fd496248c6fa33c424d758e9a0be99758aaf061 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Benjamin Terrier <b.terrier@gmail.com> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix granted file access after local/remote access cleanupAllan Sandfeld Jensen2022-04-142-0/+33
| | | | | | | | | | | We forgot to check for files specifically granted access to. This blocked a number of features including dropping local files. Pick-to: 6.3 6.2 Task-number: QTBUG-102192 Change-Id: I5d34d9ba5351ec179df5896e64cc95c5481c7dc2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>