summaryrefslogtreecommitdiffstats
path: root/src/webenginequick/api/qquickwebengineview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Notify about global mapping changes of QQuickWebEngineViewMichal Klocek14 days1-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium needs to be aware of view geometry changes. We do the sync in visualPropertiesChanged call, which in turn is called from item geometryChanged and itemChanged handlers. However, this approach is not sufficient to track global geometry changes as it only covers case where geometry change is local to item's parent. Therefore, we need watch the entire parent hierarchy to correctly handle global geometry change notifications. Note this issue only affects webenginequick as rwhv can have offset from the scene due to explicit position or anchoring within other items. Moreover, anchoring of child item can mean making offset in parent item. Add logic to track offset changes of parent items. Use 'polish' accumulate required notification and do visualPropertiesChanged() in updatePolish() call. Fixes: QTBUG-141476 Pick-to: 6.10 Change-Id: Ia35a6f243624cb06b6b45f76abf8ba544790e2c0 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* QQuickWebEngineView: handle null qmlEngine in navigationRequested()Vladimir Belyavsky2025-11-271-1/+7
| | | | | | | | | | | | | | | | Bail out earlier and do not crash in navigationRequested callback when qmlEngine is null. This may happen when using WebEngineView e.g. in a Loader, as the QML context data is cleared before the object is destroyed and accordingly, before we unsubscribe from the callback. Note this is band aid fix, as it is still unclear why this problem did not occur here before (e.g. with Qt 6.8.3). Task-number: QTBUG-137768 Pick-to: 6.10 Change-Id: I33bbaf4240511d20f0b839317fb496fd5b270006 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Quick: Add runJavaScript overload with std::function callbackKaloyan Chehlarski2025-11-261-0/+6
| | | | | | | | | | | | | This is to be used in QWebView, where the WebEngine backend is based on our Quick API. With the addition of a C++ WebView API, we need a way to call C++ callbacks, and the JavaScript-based callback mechanism that's currently there is insufficient. We can't expose an std::function parameter to QML, so this overload is there for internal use only. Change-Id: I22b17c2d2ba554078d0e1e39110147399e93102b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Introduce QQuickWebEngineFrameMichal Klocek2025-10-281-5/+5
| | | | | | | | | | | | | | | | | | | | 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>
* CRA mark src/webenginequickKaloyan Chehlarski2025-10-061-0/+1
| | | | | | | | QUIP: 23 Fixes: QTBUG-138715 Pick-to: 6.10 6.9 6.8 Change-Id: Id3edb3400c98f2489cfada7edc8559110f57a3ca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove unnecessary QQmlEngine usageAllan Sandfeld Jensen2025-08-261-12/+2
| | | | | | | | | | Reverts most of f5fbc34fc16fc9c6e7f7e8bbbf60f5b343b9466d, relying on better implicit QML conversion since. Fixes: QTBUG-138881 Pick-to: 6.10 6.9 6.8 Change-Id: Ic23579e421f737b9a4d85c7e4f1a4019323c4be9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Associate permissions with framesKaloyan Chehlarski2025-08-201-64/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, permisions were associated with the originating WebContents, as the PermissionManager API uses those in its function calls. This is insufficient, however, as it results in iframes not receiving the correct permissions (because they were instead granted to the root frame instead. This change modifies the internals of PermissionManagerQt to use GlobalRenderFrameHostTokens, and modifies relevant functions across the codebase to pass those around instead of WebContents. Media and mouse lock permissions now also query the permission manager before issuing a request, which avoids some cases of the same request being sent multiple times in a row. As a side effect, the behavior of non-persistent permissions (as well as the behavior of ALL permissions when running in AskEveryTime mode) is standardized so that a permission is remembered as long as the associated frame is alive. Fixes: QTBUG-134637 Fixes: QTBUG-135787 Pick-to: 6.10 6.9 Change-Id: I650e3328ef3830d06206acafc3305566d3a10d86 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crash if ui delegates are not deployedMichal Klocek2025-07-031-2/+6
| | | | | | | | | | | | | | | | In case delegate for touch handle can not be loaded bail out and simply return nullptr as TouchHandleDrawableQt works fine without delegate (guards against nullptr). Note all other dialog already bailout in case default delegate can not be loaded. Tested on bookworm with 6.8.3 Fixes: QTBUG-111907 Pick-to: 6.10 6.9 6.8 Change-Id: Ib509b63010888fa718f23148c06d973382cad428 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2025-02-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Also made a manual scan to update the patch to 6.10. Pick-to: 6.9 Change-Id: Ic612e11dce9180f5e3e81b377985332e6f26bacb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QuickWebenginView: Fix crash when assessing m_profileCarl Schwan2025-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | | Ensure the profile is initialized before calling m_profile, otherwise this will crash. This happens with the following code: WebEngineView { userScripts { collection: [ { injectionPoint: WebEngineScript.DocumentReady, sourceCode: scriptContent, worldId: WebEngineScript.UserWorld } ] } } Pick-to: 6.9 Change-Id: I9d2d626ea51fb619b32147d8883701b40eab6c6e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QQuickWebEngineView: silence deprecation warningVladimir Belyavsky2024-09-171-1/+1
| | | | | | | | Silence deprecation warning "'QJSValue::QJSValue': Use fromUtf8, QStringLiteral, or QLatin1StringView" when build with -DFEATURE_webengine_printing_and_pdf=OFF Change-Id: I2f165329caf6fc8bab4ec78c828c5d4a3cb923e7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix not working popup with qquick on eglfsMichal Klocek2024-08-281-2/+3
| | | | | | | | | | | After refactoring in 5d1ef38 we lost popups with qquick. Unfortunately we do not have tests for it as we do not run eglfs on ci. Pick-to: 6.8 6.7 Fixes: QTBUG-119908 Change-Id: Iea6cadf96dcac488898bb31132938fe8020d4d79 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Printing: Unify PDF generation among print() and printToPdf()Szabolcs David2024-08-081-1/+1
| | | | | | | | | | | | | | | | For the rasterized print() job, we have been generating the PDF data without margins and then QPrinter applied its margins when drawing to the device. Margins were the only differences between PDF generations for print() and printToPdf(). By taking the margins into account at generation time, and setting QPrinter margins to null and then restoring it after the job, we can get rid of this terrible design choice and having a unified PDF generator backend. This results a much more simpler code and opens the way for other developments. Change-Id: If2dd8932073f5112e2e29d52db624db496f59684 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* QWebEngineFrame: hold weak ref to adapterMoss Heim2024-07-151-3/+3
| | | | | | | | | | | This is a bit safer as it prevents crashes when the adapter/page is no longer around. This also adds a getter for the adapterClient on WebContentsAdapter. Pick-to: 6.8 Change-Id: I50690fd7bf3e5fe60568c565ce0fff20a832351f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* QWebEnginePermission: Post-API reviewKaloyan Chehlarski2024-07-031-50/+41
| | | | | | | | | | | | | | | 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>
* Add QWebEnginePermission and rewrite permissions APIKaloyan Chehlarski2024-06-031-49/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the addition of permission persistence, it's now important for us to have an API for querying previously granted/denied permissions, so that they can be revoked at a later point. This change does the bulk of the work to get us there, by introducing a new type representing a single permission for a given URL/Feature pair. This type holds no information about the permission's state; it is simply an accessor object which allows its user to query the current status of the permission, grant/deny it, or reset it back to its initial state (so, delete it from storage). This provides application developers an easy way to store/modify lists of permissions without having to define their own custom types. A subsequent change will expand the API to provide a list of all permissions for a given profile. The current API (in QWebEnginePage and QQuickWebEngineView) has been marked as deprecated, but has not been disabled to ensure a smooth transition for developers. [ChangeLog][QtWebEngineCore][QWebEnginePage] Deprecated old permissions API [ChangeLog][QtWebEngineQuick][WebEngineView] Deprecated old permissions API [ChangeLog][QtWebEngineCore] Added new API for querying and modifying website permissions. [ChangeLog][QtWebEngineQuick] Added new API for querying and modifying website permissions. Pick-to: 6.8 Change-Id: I8661cdc26bbd6dcde6403d29cc083bcea1a49ccc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QWebEngineFrame::printToPdfMoss Heim2024-06-031-6/+8
| | | | | | | | | Provide API calls to (1) save to file (QString) and (2) get the bytes in a callback. Pick-to: 6.8 Change-Id: I0ff44a25328b99080491b8c3b36a7b632c065131 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge printToPdf callback systemsMoss Heim2024-05-311-8/+17
| | | | | | | | Provide a common API in WebContentsAdapterClient so it can be used easily by QWebEngineFrame. Change-Id: I9abc1214cf535c3110d54d9ecb3257000c6db5fb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QWebEnginePage::printRequestedByFrame signalMoss Heim2024-05-311-0/+8
| | | | | | | | | Emitted whenever a frame excluding the main frame calls JS print() function. `printRequested` is now only emitted when the main frame requests printing, instead of any frame. Change-Id: I4b65e5a164b513cc9a9692c1285470847b7a26e3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QWebEngineFrame::runJavaScriptMoss Heim2024-05-221-3/+3
| | | | | | | | | | | | | Run JavaScript code on a specific frame, optionally executing a callback when done. Uses the enclosing page's callback system. There are two sets of overloads, matching the API of QQuickWebEngineView and QWebEnginePage. Also adds QQuickWebEngineFrame::runJavaScript() Change-Id: I48746bd83d0f19644157548483a94637fc70c20f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add zoomFactorChanged signal to QWebEnginePage and QQuickWebEngineViewKaloyan Chehlarski2024-05-171-1/+6
| | | | | | | | | | | | | | Added a signal that fires whenever the zoom factor for a given page changes, including both via key combinations, and when using the existing zoom API. This already existed in Quick, but was both undocumented and only half-implemented (zooming via keyboard/mouse wouldn't trigger it). Thus, the Quick documentation was changed to list it as a 6.8 addition. Fixes: QTBUG-111041 Change-Id: I91eb7c9bf0d17d99956784841c5c86640554ad1c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge runJavaScript functions in QWEPage, QQWEViewMoss Heim2024-05-151-17/+15
| | | | | | | | | | | These two are identical except for the use of QJSValue to wrap a JS callback. And we would like to have a function on WebContentsAdapterClient for QWEFrame to call. So we wrap the JS callback in a std::function<> callback and merge the APIs. Change-Id: Ifc55d3748b1b3764e802e4908c474b40cc92f9cc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QML support for QWebEngineFrameMoss Heim2024-05-071-0/+13
| | | | | | Change-Id: I1f5843b1abba9edb3c106718abac5cd92ee961cd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Thread safe implementation of Favicon Quick APIAnu Aliyas2024-04-301-12/+2
| | | | | | | | | | Ensured thread-safe access to quick classes, by moving all interaction with these classes to UI thread. Removed thread pool and used signals and slots instead Pick-to: 6.7 6.6 Change-Id: Icd5cecf73258fd7da04f56cd5dd5cb83904b8b40 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add hasPostData to QWebEngineNavigationRequestAllan Sandfeld Jensen2024-04-261-2/+2
| | | | | | | | | | [ChangeLog][QtWebEngineCore][QWebEngineNavigationRequest] hasFormData has been added to indicate navigations request (re)posting form data. Fixes: QTBUG-67613 Change-Id: I0275513a12d4591a53040c62bfce636e99926ab7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Add the missing _p suffix to the private header files in WebEngineQuick/WidgetsAlexey Edelev2024-04-251-3/+3
| | | | | | | Pick-to: 6.5 6.6 6.7 Change-Id: I4b64147cb70c3994ed054374c9047fe9274da777 Reviewed-by: Moss Heim <moss.heim@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add local fonts permission support to QuickWebEngineViewKaloyan Chehlarski2024-03-221-0/+6
| | | | | | | | | This change hooks up QuickWebEngineView to the newly-enabled local font access API. Task-number: QTBUG-121320 Change-Id: Ib7e093904ea8d834a2282cd265086e501cb392ff Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add granular permission for clipboard-read/writeMoss Heim2024-03-111-0/+7
| | | | | | | | | | | | | | | Previously, permissions for clipboard access could only be managed through the JavascriptCanAccessClipboard and JavascriptCanPaste settings. This change allows copy/paste to be handled the same way as notification and geolocation permissions. If both JavascriptCanAccessClipboard and JavascriptCanPaste are enabled, permissions will be granted unconditionally without a feature request being made. Fixes: QTBUG-77450 Change-Id: I383e27e244ced3d6b7988644e38d2307c6267f76 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Correctly hook up spellchecker suggestions to QMLKaloyan Chehlarski2024-03-011-1/+4
| | | | | | | | | | | | | | | Currently, spelling suggestions that would normally appear in the context menu when right-clicking a misspelled word do not work in QML applications. Instead, the context menu gets filled with empty, nonfunctional labels. This change makes sure the QQuickWebEngineAction object has valid m_text and m_enabled fields, and that QQuickWebEngineView::triggerWebAction doesn't get tripped up by the fact that there's no WebAction corresponding to text replacement. Change-Id: I208950d815ae43e0a691245698e287adf099a7b3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix QWebEngineDesktopMediaRequest after API review updateMartin Negyokru2024-02-241-0/+1
| | | | | | | | | | | - The request has to be copyable to make it compatible with qml - Bring back EditRole - Remove QWebEngineMediaSourceModelPrivate Pick-to: 6.7 Change-Id: I28f64947eec8f041dab6feefa3d3ba85154975c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Correct PrintedPageSizeId to match QPageSize::PageSizeIdMichael Brüning2024-01-241-0/+128
| | | | | | | | | | With Qt 6, QPageSize::PageSizeId enum was cleaned up and some values were reordered, but the WebEngineQuick part was not changed accordingly. Pick-to: 6.7 6.6 6.5 Fixes: QTBUG-120218 Change-Id: I7e4c419750d30a64193e68b0b217ebbccce07d87 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update QWebEngineDesktopMediaRequest based on API reviewMartin Negyokru2024-01-221-0/+1
| | | | | | | | | | | | | - Port the request's d-pointer to std::unique_ptr - Disable copy of the request - Remove QWebEngineMediaSourceModel from the header - Remove the NameRole definition - Update tests and documentation according to changes - Use forward declaration in qwebenginepage Pick-to: 6.7 Change-Id: I972b3104a0bca5367a4bb63ac183a60d00a71776 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update QWebEngineWebAuthUxRequest based on 6.7 API review commentAnu Aliyas2024-01-171-2/+2
| | | | | | | | | | | - Modified WebAuthUXState as enum class - Renamed QWebEngineWebAuthUXRequest as QWebEngineWebAuthUxRequest - Renamed QWebEngineWebAuthPINRequest as QWebEngineWebAuthPinRequest - Replaced all occurrence of UX and PIN with Ux and Pin respectively Fixes: 6.7 Change-Id: Iaf0b4c93e0dfa3508a604f7d6562c4401ff800af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add new API for screen capturingMartin Negyokru2023-12-151-0/+9
| | | | | | | | | | | | [ChangeLog][WebEngineCore] Add QWebEnginePage::desktopMediaRequested() signal [ChangeLog][WebEngineQuick] Add QQuickWebEngineView::desktopMediaRequested() signal Pick-to: 6.7 Fixes: QTBUG-112142 Task-number: QTBUG-70077 Change-Id: I4bfad88732b45fb68b77f7617440bcb50b248a11 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix for tst_qmltests crashAnu Aliyas2023-11-091-0/+2
| | | | | | | | | - As per current the implementation, if the parent Qucikitems has foucs, calling setParentItem(nullptr) on it's children might lead to crash. Task-number: QTBUG-118750 Change-Id: I540e46658a21c14bb26f8f316fdd520f7b1a4742 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Provide the correct type information for WebEngineViewAnu Aliyas2023-10-131-1/+1
| | | | | | | | | | | | -Duplicate entries in the QML type file are created when exporting the type as a value and its enums within a namespace. Resolved this by introducing a derived class, and using it for exporting the Enums. - Added namespace resolution to avoid type ambiguity Fixes: QTBUG-117031 Pick-to: 6.6 Change-Id: Ieea4492238843c3c781c8d9602ddc89207b61137 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* QQuickWebEngineView: move using declarations outside of QT_DEPRECATED_SINCE ↵Ivan Solovev2023-08-211-3/+2
| | | | | | | | | | | block Because they are also used in the code which is not guarded by the deprecation checks. Pick-to: 6.6 6.5 Change-Id: I42383ba0f11b08df5602bfa9e0d8d816d2b96be7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Support FIDO2 user verificationAnu Aliyas2023-07-121-0/+7
| | | | | | | | | | | - Implemented AuthenticatorRequestClientDelegateQt support to handle authenticator requests. - Added FIDO user verification and resident credential support Fixes: QTBUG-90938 Fixes: QTBUG-90941 Change-Id: I6367791e1e9e8aaac27c376408377f838832f426 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Reduce repetitive translated texts of QQuickWebEngineView/QWebEnginePage actionsFriedemann Kleint2023-06-301-61/+2
| | | | | | | | | | With the action enums in sync, a helper for function returning the translated texts for the enum values can be introduced. Pick-to: 6.6 Change-Id: I1584f0a4d3fd55d0308dbb914777346ba9d0e285 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Sync WebAction enums of QQuickWebEngineView/QWebEnginePageFriedemann Kleint2023-06-281-0/+4
| | | | | | | Pick-to: 6.6 Change-Id: Ibe750d541dba458f2278632355bcaf864fdc845a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add QWebEnginePage::devToolsId()Benjamin Terrier2023-05-311-0/+6
| | | | | | | | [ChangeLog][WebEngineCore] Add QWebEnginePage::devToolsId() [ChangeLog][WebEngineView] Add devToolsId property Change-Id: I16e8a27d595b010239557c2a3af2d3b39976cd46 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* 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 WebEngineView::save() convenience APIAnu Aliyas2023-04-201-0/+7
| | | | | | | | | | 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 LTR and RTL text directions in input fieldsSzabolcs David2023-02-151-0/+12
| | | | | | | | | | 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-151-1/+1
| | | | | | | Reflect latest changes to qtwebchannel. Change-Id: I10bc1690dc32ce1bb61ed9dabc7f31a44d2fdf7e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix build with -no-accessibilityPeter Varga2023-01-091-1/+6
| | | | | | Pick-to: 6.5 Change-Id: I7128608467e4d0ce1b04efa9b82a98f78942d4db Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove unused properties from QQuickWebEngineViewPrivatePeter Varga2023-01-091-1/+0
| | | | | | Pick-to: 6.5 Change-Id: I368d53e250cd06908db2c2dfb12d6227f835f136 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Deprecate Quota Permission Request APIPeter Varga2022-12-081-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>