| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Amends 671afae06 Add API for providing additional CA certificates
Pick-to: 6.10
Change-Id: I7e40b9b24e319e89c94d13516ebbc896c8ba6f69
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Ie121e22e18ef61d4c9ecb6fa9085889e742fb7be
Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
QUIP: 23
Fixes: QTBUG-138720
Pick-to: 6.10 6.9 6.8
Change-Id: I9c064bef911e36c12553fc6cebb7408fb02bcc0b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This new policy prevents session cookies from being saved to disk even
for crash recovery purposes. Persistent cookies are still stored.
As a drive-by add a missing data row in a QWebEngineProfileBuilder test
Task-number: QTBUG-135799
Change-Id: I55364aa96c07ce83d3f30d812450421354310d72
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Task-number: QTBUG-137478
Change-Id: I9c419f6e1349aef34237da0cf85cbd4a1968fbc2
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is the result of running util/normalize on the code base. The
following manual edits were needed:
(none)
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ia59174aaf154559f7445e13d059723a282f75aae
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce QWebEngineExtensionManager and QWebEngineExtensionInfo.
The manager has methods to load and install Chrome extensions from the filesystem.
QWebEngineExtensionInfo provides information about a loaded extension.
The current state of our js extension API support is very limited
meaning most of the extensions downloaded from Chrome extension store
won't work. Adding support for these APIs will be done in followup patches.
Fixes: QTBUG-118452
Task-number: QTBUG-61676
Change-Id: I017ad5e8d2ba963afbd2f31ac36fee9451a951bd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This allows to provide additional certificates that are considered
when verifying a certificate. This is done by the cert verifier
downstream of the platform-specific cert store.
Fixes: QTBUG-50586
Change-Id: Ie90547f1013f22f994aaff536fadf906a44a88ef
Reviewed-by: Moss Heim <moss.heim@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling pause() (or any method which causes state update) in a directly
connected signal handler of a download request causes an assertion fail
in DownloadItemImpl::UpdateObservers() because it is protected from
nested updates. Use QTimer::singleShot() to detach download requests
and updates from the direct code path.
Add auto test to check if pausing and resuming a download work.
Pick-to: 6.8 6.9
Change-Id: Ia8c977a626fd0d39ca51df42984381a75cca2101
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
| |
Change-Id: I65b22658eb46e2460e0bd8d82f528671b33fad66
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify the already existing downloadRequest() API. Now the requests
not necessarily have to be answered in a directly connected signal
handler and the API users can postpone their user's decision.
The only exceptions are automatically accepted save page requests. There
is no better place to call their callback than directly after the signal
emission.
Adapt auto tests to the new lifecycle of download items. Modify the
quicknanobrowser example to use a simple async method to wait for the
user's decision. Keep simplebrowser to use its old synchronous method
to illustrate that it's still possible. Correct documentation at some
places.
[ChangeLog] QWebEngineProfile::downloadRequested() is not limited to
synchronous usage anymore. QWebEngineDownloadRequest can be accepted
or rejected later without blocking the browsing session.
Fixes: QTBUG-118584
Change-Id: Ic1be6508126574dc77aa686f85bf35feafdb080d
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following the rewrite of the permissions API, transient
(a.k.a non-persistent) permissions still passed through
the persistent store sometimes, but were filtered out when
using user-facing APIs. Unfortunately, thisstill presented some
edge cases in the AskEveryTime permission policy mode.
This change modifies the PermissionManagerQt class to store
a second set of permissions, and associate them with a
RenderFrameHost the way the Chromium API is designed to do
anyway. This way, a permission will be kept around for the
lifetime of a web page, and calling JavaScript APIs that
trigger checks for permission state will work properly
(e.g. navigator.mediaDevices.enumerateDevices).
The new store is regularly cleaned up to make sure expired
permissions are purged before they impact performance.
As a side effect, this change also introduces pre-granting
of non-persistent permissions, which was the biggest
omission in the permissions rewrite. In those cases,
the permissions will be temporarily stored inside the
persistent store, and moved to the transient one the next
time they're queried (and can thus be associated with
a RenderFrameHost).
This also fixes some extremely broken test cases that
relied on invalid web API.
Fixes: QTBUG-127951
Pick-to: 6.8
Change-Id: Ic084af7673ea0b255d98d94382e77323bb5e7ab0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Was missing.
Pick-to: 6.8
Change-Id: Ie6bd9659c60bab240431329f469f91dac6b3b176
Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
Reviewed-by: Kaloyan Chehlarski <kaloyan.chehlarski@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
QWebEngineProfile and QQuickWebEngineProfile now have methods for
either getting one specific permission object, or for getting a list
of all the permissions currently stored. The methods for listing also
have overloads for filtering based on origin or Feature type.
Pick-to: 6.8
Change-Id: I07241bcb3ff171fa8b82547c2b5f094071bebe44
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces a new API allowing application developers
to choose whether they want to retain the granted/denied status of
permissions between different pages or browsing sessions. The
previous behavior of asking for permission every time is still
optionally available, but the default behavior is to persist
permissions inbetween sessions (except for off-the-record profiles,
where the permissions get destroyed alongside the profile).
Storage is handled via a PrefService, which writes to a
permissions.json file stored inside the profile folder. This is
different to Chromium's implementation, which is massively
overengineered and would require enabling a ton of code we will
never need to use.
[ChangeLog][QtWebEngineCore][QWebEngineProfile] Added new API
to control permission persistence.
[ChangeLog][QtWebEngineQuick] Added new API
to control permission persistence.
Fixes: QTBUG-55108
Change-Id: Ib3057feda3bfbbf2a17a86356feca35a67180806
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
| |
Change-Id: If975c71e0738358a7fd18d0c34974e6463759421
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Implement QWebEngineClientHints class to provide API for each
user agent client hints.
Task-number: QTBUG-112826
Task-number: QTBUG-112825
Change-Id: I3091d60fb363bbafc16c8e48195c1fd82e8a81bb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The NoCache option on profile schedules clearHttpCache task. However,
this task will run later and BrowsingDataRemover will break
current network context mojo pipes. Network context will be recreated
eventually but all the load/request states are gone.
Do not delete explicitly cache on NoCache setting, which was
undocumented 'feature' anyway. Let the user take
care of that. Note doing reset network context on startup is fine as it
is not delayed.
[ChangeLog][WebEngineCore][WebEngineProfile] Switching profile to NoCache
do not longer implicitly removes cache from old data store.
Pick-to: 6.6 6.5
Task-number: QTBUG-116478
Change-Id: Ibd108d4ce7392349304df9f606738dc14dba36a0
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been found to not have any real effect, therefore, we remove it
again to not release a non-functional API and create false expectations
in users.
This reverts commits
3f5de5fab74e6c152cdf5d04f3d893feaa31790b
ab21f39c6a54be331dd8a155d3374bfe790e0274 (parts)
082eef1916a86d6d5e0c751d271c7c8a1a5e457d
5e257fb57a211f95556ec387fe6f262a60cbb6fe
Pick-to: 6.6
Task-number: QTBUG-61071
Change-Id: Ifb33e32128e77dfffed863a1a7501ba21796692d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtWebEngineQuick][WebEngineProfile] Added
clearHttpCacheCompleted signal.
[ChangeLog][QtWebEngineCore][QWebEngineProfile] Added
clearHttpCacheCompleted signal.
Fixes: QTBUG-89670
Fixes: QTBUG-111541
Change-Id: If93a99f7171c516ef75a3c8004da9ae621705a1a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This manifest is required for User-Agent to report the
correct Windows versions.
Document Windows App Manifest in platform-notes and
mention it in the httpUserAgent documentation.
Pick-to: 6.6
Fixes: QTBUG-63021
Change-Id: Ie3896c50a0a912742e8d1a0dc20f3305b343d3f4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Faster to build and gives smaller binaries
Fixes: QTBUG-103291
Change-Id: Iab52995e03c13a4c5b185750028c449a19d98d93
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
| |
Change-Id: I607604f85a111a69da77ca949dddf3399b9721b3
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I8eb8bfba45abb340816b8c2072cca4486c1f37ab
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I58e2dc2443bca75b0d315694c9f6503251a7be02
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It enabled an unrecommended OCSP path on Linux
[ChangeLog] (Q)WebEngineSettings::useForGlobalCertificateVerification
has been removed.
Pick-to: 6.2
Task-number: QTBUG-91467
Change-Id: I9f5d1ad5e4fcb59abd31e6a133ded7bf8319c811
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
API and documentation changes since 5.15 caused multiple warnings from
QDoc; this change addresses most of them. Some warnings indicate
missing documentation, those issues still remain.
Pick-to: 6.2
Change-Id: I96be38b7daac37a7e35c149b4b3ec3f18c4415c9
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I2d9cf4fffda1ad614388844781ac4fece15dde0d
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make default profile otr, this prevents accessing
data cache which could be created by older other
version of Chromium. Allow to register a protocol
handler on ort profile.
[ChangeLog][QtWebEngineCore] Default profile is off-the-record
Off-the-record profile can have registered protocol handlers.
Task-number: QTBUG-66068
Pick-to: 6.2
Change-Id: Ief202de5c6734d293cb64d83ad447b1eba19e9a4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.2
Change-Id: Iad93680dd0811086c481d9bf8adb298f663bdfa4
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtWebEngineCore][QWebEngineProfile] Add new API
to access icon database asynchronously.
[ChangeLog][QtWebEngineQuick] image:/favicon/ URLs now can be used to access
icon database.
Pick-to: 6.2
Task-number: QTBUG-51184
Change-Id: I6096ad9a4210670ed59458c4fa099a02595e8a1e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove deprecated Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps
from examples. High-DPI scaling is always enabled.
- Reorder initialization of members of QWebEngineDownloadRequestPrivate.
Also remove m_ prefix from public members' name.
- Remove unused parameters from methods of DummyDelegate.
- Add missing overrides in auto tests.
Pick-to: 6.2
Change-Id: I18d6973b8bee574b37b73fbaaa8d57002ac8ba2d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Including update to 87-based
Change-Id: I36b6054e00de97ab055d0bc800cff08d0408fac6
|
| |
|
|
|
|
| |
Change-Id: I15c621da6da97b2ccdd57afdfad0d413302d3c24
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
This just moves class to core.
Task-nmuber: QTBUG-74585
Change-Id: Id046eee21043f086f5f45727bc3ce7c965695b7c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|