summaryrefslogtreecommitdiff
path: root/tests/auto/quick
Commit message (Collapse)AuthorAgeFilesLines
* Add QWebEngineSettings::DisableReadingFromCanvasAnu Aliyas2023-04-242-0/+38
| | | | | | | | - disables reading from canvas. Fixes: QTBUG-84486 Change-Id: I3e181bfa6e351dea8dfa61f8010bafb94ea8a77d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add WebEngineView::save() convenience APIAnu Aliyas2023-04-204-1/+207
| | | | | | | | | | Add the convenience method QQuickWebEngineView::save for saving pages without the need to explicitly handle download requests. Task-number: QTBUG-56093 Change-Id: I67909fdca6472d1ea9b32e0f89c1ab90219bca3b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add qml filesystem api testsMichal Klocek2023-02-274-0/+200
| | | | | | | | | | | | | | | | | | | There are three functions we use within file systems API, which trigger dialogs: * window.showSaveFilePicker * window.showOpenFilePicker * window.showDirectoryPicker Only first one was tested with widgets, therefore add tests which cover use of api, and also test cover the found issues in previous commits. Note we have separate test to cover file system dialogs coming from <input> html tags in tst_filePicker Pick-to: 6.5 6.4 Change-Id: I4616efa84688ed471fb8c4566e49262bce945638 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Support LTR and RTL text directions in input fieldsSzabolcs David2023-02-154-1/+49
| | | | | | | | | | Implement WebActions to temporarily change text direction directly from context menu - like Chrome does. They only work for the selected input field. Omit the "default" option since it is always grayed out in Chrome. Task-number: QTWB-67 Change-Id: I4bacbd82c6bd7261ac465eec9da3776613f98074 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QWebEngineLoadingInfo: Add response headersYigit Akcay2023-02-131-1/+3
| | | | | | | | | | | | | | | | | | | | This change adds a member variable that contains the response headers to QWebEngineLoadingInfo. It is filled when a QWebEngineLoadingInfo instance is constructed inside WebContentsDelegateQt::emitLoadFinished(bool). The response headers are extracted from the navigation handle when WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *) is called. The response headers are non-empty when QWebEngineLoadingInfo::status() is equal to QWebEngineLoadingInfo::LoadSucceededStatus or QWebEngineLoadingInfo::LoadFailedStatus. Fixes: QTBUG-106862 Change-Id: I4d196e3cc71725ddad9a5832af72d1b4e50924c8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Skip favicon database QML tests on High DPI screensPeter Varga2023-01-161-0/+6
| | | | | | | | | | | | | The tests use the middle pixel's value of an image to check if a certain icon is loaded. The images are scaled on High DPI screens and the pixel values are changed due to interpolation. It cannot be expected to have the same pixel values for different device-pixel-ratio settings, thus rather skip the test than maintaining a list of pixel values for different scales. Pick-to: 6.5 Change-Id: I8d142de0106167a5d16c540fa468003b36c95317 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Quick: Fix file selection modes in the default UI delegateSzabolcs David2023-01-153-1/+20
| | | | | | | | | | Our implementation of QML file picker was outdated. Now directory picker is a separate type of dialog and other file selection modes are set in FileDialog.fileMode property. Pick-to: 6.4 6.5 Change-Id: Icc62369539c56666e596e5ee6f1b3068a43acd81 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix contentsSize and scrollPosition on High DPI screensPeter Varga2023-01-131-4/+3
| | | | | | | | 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>
* Fix build with -no-accessibilityPeter Varga2023-01-091-1/+9
| | | | | | Pick-to: 6.5 Change-Id: I7128608467e4d0ce1b04efa9b82a98f78942d4db Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove setPushServiceEndpoint from APIMichal Klocek2022-12-221-2/+2
| | | | | | | | | | Use setPushServiceEnabled instead. Update also getter and documentation. Task-number: QTBUG-107442 Pick-to: 6.5 Change-Id: I299ce88b06edef0f1a0088fb10f4a142056039be Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-282-2/+2
| | | | | | Change-Id: I2fe91c06ce91dfaace7825a0589b56ee375479b6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add client SSL authentication testMichal Klocek2022-11-221-2/+3
| | | | | | | | | | | | | | | | Our qwebenginecertificatestore unit test so far only tested adding/removing custom certificates into the memory. However, it never actually initialized certificate store and did not test if ssl certificate client authentication really works. Cover that case and client authentication test. Note ca and client certificates in the test are self signed to be able to run test without network connection, however we ignore the errors. Pick-to: 6.4 Change-Id: I4df4fdfabed5abd8f8bde7d4c0c79b5fd7f6f3a9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-113-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-2/+2
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I4b5f85df579532c2af938fe70db945ba273782fb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable Push MessagingSzabolcs David2022-09-121-0/+2
| | | | | | | | | | | | | | | | | | Use Chrome's implementation of PushMessagingService. This feature relies on notification permissions, so it is not different from Web Notification from end-users perspective. We don't persist push subscriptions, because it seems these have to be consistent with persisting notification permissions. Make address of push service configurable by a profile setting. It is empty by default - which means the feature is disabled until the user sets the address of a push service. Task-number: QTBUG-98904 Task-number: QTBUG-53457 Change-Id: If44f459fecf2da482c28fee5562f62fe40de103e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Improve tests for qemu-armv7Allan Sandfeld Jensen2022-09-022-3/+2
| | | | | | | | | | | test_runJavaScript() was badly written with a hardcoded wait of 100ms this should make it both faster on normal machines and more reliable on slower ones. Fixes: QTBUG-106210 Pick-to: 6.4 Change-Id: I539e59dce6e3719661202e1a213277794a660bd3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-2610-10/+10
| | | | | | 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>
* Increase timeoutsAllan Sandfeld Jensen2022-08-174-3/+6
| | | | | | | | | | 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>
* Adaptations for Chromium 100Allan Sandfeld Jensen2022-08-041-1/+1
| | | | | | Pick-to: 6.4 Change-Id: I217c87657f544a2e868de7291353ff1143e20902 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use SPDX license identifiersLucie Gérard2022-07-081-27/+2
| | | | | | | | | | | Ammend 9b9d789fcb8f63a8998f1eefe44f2a1c8156c362 : some files were still missing SPDX headers Pick-to: 6.4 Task-number: QTBUG-67283 Task-number: QTBUG-104589 Change-Id: Ia4d2aae636bbdb1a99c422e3b8d3f097c3af34d6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-0710-0/+30
| | | | | | | | | | | | 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>
* Skip uidelegates test on macosAllan Sandfeld Jensen2022-07-051-1/+4
| | | | | | | | | | | | We have two bugs here, one failing most tests, and one crashing. Skip the entire test on macos until fixed. Pick-to: 6.4 6.3 Task-number: QTBUG-101744 Task-number: QTBUG-103354 Change-Id: Ib56921b8d075ab5874f68fe8c0815c6c0155b5de Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-2264-1749/+128
| | | | | | | | | | | 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-194-14/+221
| | | | | | | | | | | | | | | | | 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>
* Create a RWHV delegate in coreAllan Sandfeld Jensen2022-06-091-1/+3
| | | | | | | | | | 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>
* Revert "Skip tst_UIDelegates::contextMenu on macOS"Shawn Rutledge2022-06-081-3/+0
| | | | | | | | | | This reverts commit af4f03f51fc647c48968e149799cd35ab161dc55. Reason for revert: crashes anyway, somehow Task-number: QTBUG-103354 Change-Id: I6f3119f855ce485668d9541c323dee947df93b60 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Do not reset favicon for same document navigationsPeter Varga2022-06-071-0/+32
| | | | | | | Fixes: QTBUG-103735 Pick-to: 6.3 6.4 Change-Id: Iee0c09cde16a825097b7c1c014655476989922c0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Skip tst_UIDelegates::contextMenu on macOSShawn Rutledge2022-06-041-0/+3
| | | | | | | Task-number: QTBUG-103354 Task-number: QTBUG-101744 Change-Id: I6faf1d9cc2110d527050804e15ecb16ff12f528b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement File System Access permission APISzabolcs David2022-05-261-0/+13
| | | | | | | | | | | | 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>
* Keep page's zoom level on loading new urlsKirill Burtsev2022-05-151-6/+30
| | | | | | | | | | | | 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-131-0/+2
| | | | | | | | | | 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-121-8/+40
| | | | | | | | | | | | | | 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>
* Quick: Add support for replacing touch handles with delegatesBalazs Egedi2022-05-041-1/+4
| | | | | | Task-number: QTBUG-85043 Change-Id: I1c87aff352e07eb309d5ba8747b9e50a191d478e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Introduce http status code domain for loading infoKirill Burtsev2022-04-181-0/+1
| | | | | | | | | | | | | | | | 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>
* Adaptations for Chrome 98Allan Sandfeld Jensen2022-03-291-1/+1
| | | | | Change-Id: I607604f85a111a69da77ca949dddf3399b9721b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix qrc sources for QWebEngineScriptAllan Sandfeld Jensen2022-03-172-1/+6
| | | | | | | | Fixes: QTBUG-96525 Change-Id: I39d6247c0dd0e55e4fb91b176f34e676eeabbcdd Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit ce2d6a94ce99f8d6f82fbcbf45603f8eb7a92957) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add qml user script collection unit testMichal Klocek2022-03-022-0/+153
| | | | | | | | | | | | Adds overlooked unit test to test collection API. Note this test throws bunch of warnings "Can't open user script ..." and it would require dummy js files just to suppress those. Pick-to: 6.3 6.2 Change-Id: Iddf8150c5fee7a29b3dba75066fa51070053d69b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Blacklist CertificateError::test_errorMichal Klocek2022-02-281-0/+3
| | | | | | | | | | | This test started to fail in ci, however c++ counterpart works fine. Task-number: QTBUG-101215 Change-Id: Ic94409b6db06f285d11ab10295d5ebaa831c0fa5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 123394142c887e049131b823933de88f258152b0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QML test for basic profiles and fix the docs accordinglyKirill Burtsev2022-02-172-0/+116
| | | | | | | | | Amends d0ff107c00. Ensure default values for profile settings match the docs. Also fix doc's issues after off-the-record toggle to off by default. Pick-to: 6.2 6.3 Change-Id: I558a77dbec82d7f2b335b1a2ceca74ab66a1a6e9 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Introduce "--webEngineArgs" to prevent unexpected sub-process argsMichal Klocek2022-02-171-1/+1
| | | | | | | | | | | | | | | | | If there is no QTWEBENGINE_CHROMIUM_FLAGS env export we pass all args to Chromium as "command line". However passing "-type=1" to qt application with webenigne ends will crash since this arg is used for sub-process type handling. Prevent any accidental user args which can affect chromium switches and from now on pass only args explicitly stated after "--webEngineArgs" option. [ChangeLog] Command line arguments meant for webengine has to be now stated after "--webEngineArgs" option. Fixes: QTBUG-68820 Change-Id: I57b3921d2250f75d445ee7173566dadc41e4ca93 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Stop using deprecated QWARNAllan Sandfeld Jensen2022-02-111-2/+2
| | | | | | | | Just use qWarning instead Pick-to: 6.3 Change-Id: I0382ca0e84daa50d32572d6827d908ae391d00d4 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix crash on WebEngine(View|Profile).userScripts.collection getKirill Burtsev2022-02-101-6/+36
| | | | | | | | | | | | | | | To create a javascript list on 'collection' method qml engine is needed for a qml scope, but it's only available for objects, which are created by the QML Engine itself. The only object in hierarchy of classes is an actual WebEngineView, so get it from there on collection init. Also implement delayed initialization of scripts collection for the usage of default profile through WebEngine singleton, and for the reason that it's not really needed until really asked by user code. Pick-to: 6.2 6.3 Fixes: QTBUG-96597 Change-Id: I61e76652a5d0fd5609070fd541816503908f2dc8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Cleanup code and clang build warningsKirill Burtsev2022-01-021-12/+7
| | | | | | | | | Fix build noise as reported by clang for issues like api deprecation, unused variables, sign/unsigned mismatch and other non critical issues. Pick-to: 6.2 Change-Id: I4fba25406eea8170e3283c42e908ae86bd512e3a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Increase timeout to help slow CIAllan Sandfeld Jensen2021-12-221-3/+3
| | | | | | Pick-to: 6.3 6.2 Change-Id: I5f0dd43e0c1eb6bc43f263227b12ec0e1b9f7a20 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 94Allan Sandfeld Jensen2021-12-021-0/+8
| | | | | Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Remove certificateerror qml unit test leftoverMichal Klocek2021-11-103-94/+0
| | | | | | | | | Since 40a7fe0 we no longer have certifiacteerror qml test, however there were some leftovers. Pick-to: 6.2 Change-Id: I1a5fd0756b3e6c0ff6766a6495509f6c174da095 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Add onTouchSelectionMenuRequested QML handlerBalazs Egedi2021-10-261-0/+9
| | | | | | Task-number: QTBUG-85043 Change-Id: Iecd2f5ae20fcf031937a1d44cc154f2e2a3ff52f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix warnings in QML tests regarding parameter injectionBalazs Egedi2021-10-187-8/+12
| | | | | | | | | | Parameter "param" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead. Pick-to: 6.2 Change-Id: Iea3583feb10fc56424ebb070e9b19e605c252773 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Blacklist certificate test until certicates have been renewedAllan Sandfeld Jensen2021-10-112-1/+4
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-97414 Change-Id: I6f899a5f62b1a37345281a9c6467ed3b059cd2bd Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>