| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Marc Mutz <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
| |
Provide a common API in WebContentsAdapterClient so it can be used
easily by QWebEngineFrame.
Change-Id: I9abc1214cf535c3110d54d9ecb3257000c6db5fb
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
| |
Change-Id: I1f5843b1abba9edb3c106718abac5cd92ee961cd
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
[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 <[email protected]>
Reviewed-by: Anu Aliyas <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.5 6.6 6.7
Change-Id: I4b64147cb70c3994ed054374c9047fe9274da777
Reviewed-by: Moss Heim <[email protected]>
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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 <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
- 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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 <[email protected]>
Reviewed-by: Michael Brüning <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.6
Change-Id: Ibe750d541dba458f2278632355bcaf864fdc845a
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Michael Brüning <[email protected]>
|
|
|
|
|
|
|
|
| |
[ChangeLog][WebEngineCore] Add QWebEnginePage::devToolsId()
[ChangeLog][WebEngineView] Add devToolsId property
Change-Id: I16e8a27d595b010239557c2a3af2d3b39976cd46
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
| |
Reflect latest changes to qtwebchannel.
Change-Id: I10bc1690dc32ce1bb61ed9dabc7f31a44d2fdf7e
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I7128608467e4d0ce1b04efa9b82a98f78942d4db
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I368d53e250cd06908db2c2dfb12d6227f835f136
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
| |
Faster to build and gives smaller binaries
Fixes: QTBUG-103291
Change-Id: Iab52995e03c13a4c5b185750028c449a19d98d93
Reviewed-by: Marc Mutz <[email protected]>
|