summaryrefslogtreecommitdiff
path: root/src/webenginequick
Commit message (Collapse)AuthorAgeFilesLines
* Test for presence of local frame in runJavaScriptAllan Sandfeld Jensen2023-05-161-1/+5
| | | | | | | | | It can be missing if we are in the process of shutting down. Pick-to: 6.5 6.2 Fixes: QTBUG-113400 Change-Id: Ib494e479db08d51825c15f54354037c265ba96b0 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add QWebEngineSettings::DisableReadingFromCanvasAnu Aliyas2023-04-242-0/+26
| | | | | | | | - 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/+33
| | | | | | | | | | 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>
* Support painting to Direct3D11 using ANGLEAllan Sandfeld Jensen2023-04-201-2/+3
| | | | | | | | Pick-to: 6.5 Task-number: QTBUG-112280 Fixes: QTBUG-109401 Change-Id: Iaebb79921030ce42bcfe8be1ba46d309c93dca6d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Rework painting integration and support Metal RHI over ANGLEAllan Sandfeld Jensen2023-04-121-1/+1
| | | | | | | | | | | | | Move graphics details into compositor, and add support for a native buffer mode uses ANGLE on the Chromium side. The initially support is for Metal. Pick-to: 6.5 Fixes: QTBUG-112282 Task-number: QTBUG-112280 Change-Id: I066ba1d3e72508e047d259ae5797659d45335fb2 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Replace WebEngineAction example with a snippetMichael Brüning2023-03-312-1/+132
| | | | | | | | | Also moves the example to the manual tests directory. Task-number: QTBUG-108751 Change-Id: Ie3fa492cfcaf61ee26ed65fa22954bb6a6532d6e Reviewed-by: Michael Brüning <michael.bruning@qt.io> (cherry picked from commit 23d1131577e1780de0552211a84357bcb1f63de5)
* Move custom touch handles example to manual testsMichal Klocek2023-03-221-0/+21
| | | | | | | | | | | | Move and add missing parts as snippet. Task-number: QTBUG-108751 Change-Id: I25849941700337626ca46e399fdb52264bc4659a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Yigit Akcay <yigit.akcay@qt.io> (cherry picked from commit 55f9fc348278b2aa8985ec9c1e7e092f88f68f83) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move custom dialogs example to manual testsMichal Klocek2023-03-221-0/+29
| | | | | | | | | | | | | This example shows how to use dialogs, however documentation already provides snippets for that added in 3cbe59e29a. The only missing one was tooltip, therefore add missing snippet and move example to manual tests. Task-number: QTBUG-108751 Change-Id: I84eda805455fb0276046ed1089389d605a8af672 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 6bf30525ee49d270dae6a6440bc607513f21237c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move quick minimal example to manual testsMichal Klocek2023-03-224-2/+47
| | | | | | | | Task-number: QTBUG-108751 Change-Id: I0998c46f051908855e0406e5fc7c0a422dc3eef0 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit ed76eef004dbac15f4740d33d06d2b271bf770d4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QWebEngineUrlResponseInterceptor: Implement new URL response interceptorYigit Akcay2023-03-102-0/+15
| | | | | | | | | | | | | | | | | | | | | This patch adds the QWebEngineUrlResponseInterceptor abstract class, which, when implemented, allows a user to intercept response headers and modify them in any way they like. A response interceptor can be set via QWebEngineProfile::setUrlResponseInterceptor(), QQuickWebEngineProfile::setUrlResponseInterceptor() or QWebEnginePage::setUrlResponseInterceptor(). Also, the QWebEngineUrlResponseInfo class is implemented, which contains the request and response data to be used with the response interceptor. If a response interceptor is set in the profile and page, the one in the profile takes precedence. Fixes: QTBUG-61071 Change-Id: I484d14373ff597b1d531541c066f0102bae28c72 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Fix wrong WebEngineCertificateError property nameAndreas Eliasson2023-03-011-2/+2
| | | | | | | | | The correct property name should be type, not error. Fixes: QTBUG-111574 Pick-to: 6.5 6.4 Change-Id: I276823f5bc664a99153b31e5bba36ae34608a9b9 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix initialization of QWebEngineDownloadRequest::totalBytes for WidgetsPeter Varga2023-03-011-1/+3
| | | | | | | | | | | | 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>
* Fix filesystem request qml namespaceMichal Klocek2023-02-271-1/+9
| | | | | | | | | | Unfortunately in 3494efe5d440 we register request incorrectly which does not work as intended with qml. Fix it and add namespace to qml registry. Pick-to: 6.5 6.4 Change-Id: I6965dd0a9b65021cd9c290aaecef9fb9fd82735a Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add missing foregin type for QWebEngineFileSystemAccessRequestMichal Klocek2023-02-211-0/+10
| | | | | | | | Add foregin type so it can be use within qml. Pick-to: 6.5 6.4 Change-Id: I8104874f2e898b170c8091a8fdeca450e59ae2a6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support LTR and RTL text directions in input fieldsSzabolcs David2023-02-153-0/+19
| | | | | | | | | | 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>
* Add WebChannelQuick dependencyMichal Klocek2023-02-152-1/+6
| | | | | | | Reflect latest changes to qtwebchannel. Change-Id: I10bc1690dc32ce1bb61ed9dabc7f31a44d2fdf7e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Replace custom ColorDialog with QtQuick ColorDialogMartin Negyokru2023-02-014-277/+303
| | | | | | | | Add fallback to custom implementation. Add subdirectories of ControlsDelegates to import path. Change-Id: I88224b267419664484cd0667456d9463d5c61bee Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix deprecation of Quota Permission Request APIPeter Varga2023-01-181-1/+2
| | | | | | | | | | | | | Add reason string and version for deprecation. Also mark the constructor of QWebEngineQuotaRequest class deprecated. Amends 8fd7140082e3a752ca80882a29128ffc12d12fa4 Pick-to: 6.5 Task-number: QTBUG-109580 Task-number: QTBUG-56354 Change-Id: Ifa15bb5eaccabd62acbeb05df071c4bdc9584c95 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Quick: Fix file selection modes in the default UI delegateSzabolcs David2023-01-154-4/+57
| | | | | | | | | | 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 build with -no-accessibilityPeter Varga2023-01-095-10/+11
| | | | | | Pick-to: 6.5 Change-Id: I7128608467e4d0ce1b04efa9b82a98f78942d4db Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove unused properties from QQuickWebEngineViewPrivatePeter Varga2023-01-092-3/+0
| | | | | | Pick-to: 6.5 Change-Id: I368d53e250cd06908db2c2dfb12d6227f835f136 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix qdoc link failuresMichal Klocek2023-01-061-1/+1
| | | | | | Pick-to: 6.5 6.4 Change-Id: I6b18382a376bf3067323e801f6f39bf4ec09e9dc Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove setPushServiceEndpoint from APIMichal Klocek2022-12-222-28/+20
| | | | | | | | | | 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>
* Deprecate Quota Permission Request APIPeter Varga2022-12-085-32/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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 Vulkan rendering supportPeter Varga2022-11-101-1/+4
| | | | | | | | | | Updates 3rdparty: * 8b7ce4ef70d Make GrVkImage external Task-number: QTBUG-107669 Change-Id: If7fbe1f20538598dd1d4f3a67be17c9f7d06a3cd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Silence synqt.cpp warnings-turned-errorsMarc Mutz2022-11-021-0/+4
| | | | | | | | | | Says syncqt.cpp: ERROR: [...]/render_widget_host_view_qt_delegate_quickwindow.h does not include QT_BEGIN_NAMESPACE Pick-to: 6.4 6.2 Change-Id: I4109c493bbf25a6f7c65e35e9c697f15c7f0ac3f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix compilation 6.3 against 6.4Michal Klocek2022-10-311-1/+7
| | | | | | | | | | Check if type registrations should be in Qt namespace. This amends 5208245d2ccabbc07ecf6b845cfa3d971d2ed7e5. Pick-to: 6.4 Change-Id: I3f349a4aedac4410b1a581264d1e8877ba0bcf44 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Speculative fix for MSVCAllan Sandfeld Jensen2022-10-201-6/+0
| | | | | | | | | | Remove special code for MSVC, as it now produces warnings. Task-number: QTBUG-107778 Change-Id: I2b821693cb00ec5d1efc3cd7ed3a545e47a2b9d3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-114-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix logic in bindViewAndDelegateItemMartin Negyokru2022-10-071-3/+9
| | | | | | | | | | | Updating adapterClient is required to Bind correctly. Bring back old logic from 6.3. Fixes: QTBUG-105953 Pick-to: 6.4 Change-Id: I8845948db379c24902df0dd2dad96982a1455531 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | 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-122-0/+48
| | | | | | | | | | | | | | | | | | 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>
* Fix moc's namespace for qquickwebenginesingletonMichal Klocek2022-09-021-1/+2
| | | | | | | Fixes: QTBUG-106090 Pick-to: 6.4 6.3 Change-Id: If0572c92e5b9fe6ae44c2d93d38dfa0f68289994 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-263-3/+3
| | | | | | Task-number: QTBUG-105718 Change-Id: I2ad190e5536cdbdc8d2656e61892545d66911a02 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-07-082-59/+6
| | | | | | | | | | | 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>
* Doc: Do not advertise Qt module includeKai Köhne2022-07-083-15/+0
| | | | | | | | | People should rather use class includes, like they are advertised in each class documentation. Pick-to: 6.4 Change-Id: I3fc26c2ff01e35595959878c392dcafa2527d29f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-073-0/+9
| | | | | | | | | | | | 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>
* Various clean-upsPeter Varga2022-06-242-2/+3
| | | | | | Pick-to: 6.4 Change-Id: I53e04a247a25149d9f29135484c0528c706de7d8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-2271-2541/+142
| | | | | | | | | | | 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>
* Cleanup item delegate logicAllan Sandfeld Jensen2022-06-223-46/+42
| | | | | | | | | Remove two indirect values we can calculate without tracking, and clean up naming in webenginequick. Pick-to: 6.4 Change-Id: Ibfab7013f314b428dca707036fe5f027558dff72 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Update .clang-format and fix messed up stylePeter Varga2022-06-222-14/+19
| | | | | | | | | | | | | | | | - Make sure clang-format doesn't reformat SPDX-License-Identifier (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=6a4dab1134b10b432f69819018fef2044520e0ca ) - Fix C++ version to C++17 (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=fe9efd359498dc342257908f6c9c2183e95fc05d ) - Update _clang_format to avoid adding a space in list-initialization (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=fc7251edfaf782f184030a5787fe3a88feef6083 ) - Disable indentation for preprocessing directives. - Fix indentation of UIDelegatasManager macros and prevent formatting them. Pick-to: 6.4 Change-Id: Ieb59c993ee715430ebc2830828e488b9f62ec727 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support HTML5 <datalist> elementPeter Varga2022-06-196-15/+292
| | | | | | | | | | | | | | | | | 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>
* Protect against default profile being deleted before its pagesAllan Sandfeld Jensen2022-06-131-0/+2
| | | | | | | | | Can really only happen in QML on exit. Pick-to: 6.3 6.4 Task-number: QTBUG-99445 Change-Id: I1a04d57b6c4c40ae264b5519d2e41c57bca79a61 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Switch from QT_NO macros to feature checksAllan Sandfeld Jensen2022-06-102-4/+4
| | | | | | | | | | | 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-0910-769/+394
| | | | | | | | | | 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>
* Add QtWebChannel dependency to QtWebEngineMarco Bubke2022-06-071-0/+1
| | | | | | | Missing parameter types from QtWebChannel. Change-Id: Idc0807658384b4af455d5c84ac91db877cd0e70b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Include moc filesAllan Sandfeld Jensen2022-05-3111-0/+19
| | | | | | | | Faster to build and gives smaller binaries Fixes: QTBUG-103291 Change-Id: Iab52995e03c13a4c5b185750028c449a19d98d93 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Implement File System Access permission APISzabolcs David2022-05-263-0/+11
| | | | | | | | | | | | 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>
* Doc: Use find_package(Qt6 REQUIRED COMPONENTS ...) idiomKai Köhne2022-05-161-1/+1
| | | | | | | | | | | Using REQUIRED as a prefix instead of suffix works better with OPTIONAL_COMPONENTS, and is also the order in the CMake manual. Pick-to: 6.3 Task-number: QTBUG-98867 Change-Id: I57928fb56e2a154d91873dc869f6d314a7ea5fce Reviewed-by: Rui Oliveira Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Keep page's zoom level on loading new urlsKirill Burtsev2022-05-152-6/+13
| | | | | | | | | | | | 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>