| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Pick-to: 6.8
Change-Id: I5360ebc88aeff2189071c971e4f24a69e765686d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no way to signal LoadSucceeded without doing content load.
Calling QWebEngineUrlRequestJob::reply() with an invalid QIODevice
could be an alternative for this.
Calling QWebEngineUrlRequestJob::fail() with NoError does nothing, but
it was documented as "The request was successful." Deprecate this.
[ChangeLog][WebEngineCore] QWebEngineUrlRequestJob::NoError is deprecated
Task-number: QTBUG-114360
Change-Id: I09d38bdd622413362ae14f8aa6ac7c447946fafb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was urgent due to the error: no member named 'pix' in
'QQuickPdfPageImagePrivate'. But we actually need the
double-buffering feature that was added in qtdeclarative
change e0e0f722b86db7b99185ccd669dd5456623e7e69.
Now a single-page viewer will not show a blank page while
"flipping" to another page in a PDF file.
Fixes: QTBUG-125415
Task-number: QTBUG-66713
Change-Id: Ia37682acf0818cfa55acecf668551467780fb0ae
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, all certificate errors are handled the same way, regardless
of whether they come from the main frame or from an outside resource.
On the user side, this means that all certificate errors for resources
trigger a pop-up claiming the page is unsafe. Other browsers do not
do this, and instead automatically reject bad certificates for
resources.
This change extends the QWebEngineCertificateError API to allow
querying for whether the error comes from the main frame, or from
a resource. This information is already supplied by Chromium, but we
previously just ignored it. With this, application developers may now
choose to auto-reject resource errors just as Chrome does.
The simple and quick nano browser examples have been updated to
reject certificate errors coming from a page resource.
Task-number: QTBUG-92009
Change-Id: Id38b21f569318d7a83332d4ba69cb27d14b53430
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
| |
We seem to sometimes get the lower data usage a bit late.
Task-number: QTBUG-122469
Change-Id: I3824f86afcdcdda29300da531de23f3985dc4d64
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
| |
Change-Id: I1f5843b1abba9edb3c106718abac5cd92ee961cd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
| |
Should help narrow down flakiness
Task-number: QTBUG-122469
Change-Id: If8b0d7441af10c8aad876098c6744777696b3358
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This object represents a frame on a web page, e.g. a <frame> or <iframe>
element.
Frames can be found through QWebEnginePage::mainFrame()
and findFrameByName(). Also provides some basic getters
on QWebEngineFrame and tests.
Change-Id: If3905c6ecd14cf6c3508c65edc98f49415739489
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
| |
Verify network access before running the test.
Task-number: QTBUG-124558
Change-Id: Ida7825854074b9c29d5f0b6db6613d4997e450f8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
[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>
|
| |
|
|
|
|
| |
Pick-to: 6.7
Change-Id: Ibb6cb75a25f9b6d69ec03bc2c6734a869ab21899
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need to always add target checks as qt-camke
can call configure on tests even if webengine is not built.
Otherwise it prints more errors than it should.
Pick-to: 6.7 6.6
Task-number: QTBUG-120247
Change-Id: I7e9c1ab9640b91addb8ad1b35889771fb3dd9569
Reviewed-by: Moss Heim <moss.heim@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The localFontAccessPermission test was occasionally failing to
acquire transient user activation, and thus failing. This change uses
an event hander for when a button is pressed, ensuring the activation
is acquired.
Change-Id: Iddafa92b7a7e8ea415a73dff8685691b6b39fef4
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Example takes precedence over build system file type.
According to QUIP-18 [1], all examples file should be
LicenseRef-Qt-Commercial OR BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I558c6f409a480835d335101577ae633194b0559d
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
According to QUIP-18 [1], all build system
files should be BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I2f13ceaa8eb68b7745cffc66651f892c1fbeeff2
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously WebContentsAdapter assumed that drag-n-drop MIME data with
hasUrls() == true would also have a nonempty url list. This is not
always the case. Instead, check directly if urls() is nonempty.
Pick-to: 6.7
Fixes: QTBUG-123765
Change-Id: I9e2189e3f0223f98bdd8be273adb96cf063f4be3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
API has changed since b6dd845ec4a6bfb6b620686681e20d38a2f24101, and this
test wasn't included in CMakeLists so we haven't been running it. Now it
checks search result rectangle bounds. The new test PDFs are from the
pdfium repository https://pdfium.googlesource.com/pdfium and include
different kinds of transforms (the Tm command apparently).
Pick-to: 6.7
Task-number: QTBUG-120764
Change-Id: I25cf5944dd227dd4d2c70cbbac470d1d0fcc181a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
| |
Change-Id: I39bba6769b39e4685fbef10e19f0b1956b62208f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use FPDF_PageToDevice() rather than subtracting from page height,
in all the remaining places where we were doing that.
Also use FPDF_DeviceToPage() to convert coordinates coming from
the view, for hit-testing links and for selecting ranges of text.
Mark the private utility functions that we're modifying const
while we're at it.
Pick-to: 6.5 6.6 6.7
Task-number: QTBUG-100630
Fixes: QTBUG-106565
Change-Id: Ide4f73b80888a0e08381c6e4995f69ebeaa2d12f
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Unused parameters
Change-Id: I1c300daefc5461aa692f8624d6af7c5f9ce80464
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Accessing local fonts on the user's machine has been available in
Chromium since v103, via a (draft) API descrived here:
https://developer.chrome.com/docs/capabilities/web-apis/local-fonts
This change adds support for the relevant notification types,
effectively exposing the API to WebEngine applications.
Task-number: QTBUG-121320
Change-Id: I42c5261dc689c3d7bb4aa3c58c6300421220a36a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
- added a method to set image animation policy in QWebEngineSettings
Fixes: QTBUG-86154
Change-Id: I8b3ab6067f9cff4219b0da90bb8601406cb98e24
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Mouse events will miss the hittesting if they are sent
before the page is drawn.
Introduce new test page that listens for first paint events.
Pick-to: 6.7 6.6
Change-Id: I4846ec1bde3805f5dd0098d490cb85c72cb0884f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
| |
Change-Id: I0cc532c63f900b3bd56268a4d8a7132d3caea4f7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Was missing from the QML settings.
Change-Id: I585fd7906b6831d9cf1c560427be18b1d76fd8ca
Fixes: QTBUG-85473
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWebEngineCookieStore::setCookie was incorrectly validating cookies
after an API change in chromium; this would lead to cookies being
considered always valid which could crash if validation failed.
This commit updates the API call and adds a test to check that
invalid cookies are no longer added.
Pick-to: 6.7 6.6
Change-Id: I6fc4268a483c9495c19843f3a7b16b4f234633b4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Many Qt Quick tests choreograph event delivery with
QQuickTouchUtils::flush(&window);
but that uses private API. To avoid linking Qt Quick Private, disable
touch compression completely, so that QTouchEventSequence::commit()
causes the touch event to be fully delivered immediately. Amends
25fd2017f82bf25991feec2e5cceb21ceda4da15
Fixes: QTBUG-121564
Change-Id: I1802b56fba7b4e3be6948fa96e1c53ba0fba8739
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
| |
Task-number: QTBUG-84884
Change-Id: I2796ba53dc512aa27ab64911154237d89e1f5271
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PdfMultiPageView does not expose a property alias to TableView.rows;
we could call it pageCount, but we don't want to mislead users into
thinking that the view is the "source of truth" for how many pages
it's going to show. The document's pageCount is populated earlier,
and that's a problem only in such a case when it's too early to ask
the view to go to a particular page. So we work around it in the
view by treating these goTo functions as requests to be satisfied
as soon as it becomes possible.
Fixes: QTBUG-119416
Pick-to: 6.5 6.6 6.7
Change-Id: Ie2377fe6f2983b72e871b1be2afe4d0878f60841
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.5 6.6 6.7
Task-number: QTBUG-120245
Change-Id: I4d3478a6243e9fb0c6ccc872f471c7d09dc7eb3e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
pinch.persistentScale is settable since 6.5 (qtdeclarative
a432970b258edb9ff041d221b2155df30cad4799): we need that to tell
PinchHandler to start over from 1 after we have also set the rendered
scale back to 1, because PinchHandler does not read the scale property
for itself.
Fixes: QTBUG-115502
Pick-to: 6.5 6.6 6.7
Change-Id: I21951c447bf33e5942b6a1635488d5474ec8f293
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
|
|
|
|
|
| |
This example exists to show a simpler viewer using PdfScrollablePageView
rather than PdfMultiPageView. Most users will probably prefer the latter,
so we don't highlight this one.
Pick-to: 6.7
Task-number: QTBUG-81560
Change-Id: Ia601b8c8ec0cb9002aa118917720a37b4f8095a5
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This amends 8bedcaac01cd0a08031f42acfd7ebcc15f541964
Pick-to: 6.7
Task-number: QTBUG-112142
Change-Id: I49891681a483f6e57354cfa51f045df8a12ca20a
Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
|
|
|
| |
Test chooseDesktopMedia extension API.
Pick-to: 6.7
Task-number: QTBUG-85731
Change-Id: I2479297b2ccd45bd28bdbe6e9157ad67d0a15739
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Add test for getUserMedia, chooseDesktopMedia
and QWebEnginePage::desktopMediaRequested.
Pick-to: 6.7
Task-number: QTBUG-112142
Change-Id: Ie91838d0da05281cde8b316596ee74589af5581c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
During input composition, the cursor is set to the starting position of
the string being edited and refrain from updating it throughout the
composition process. Once the string is committed, it is set to the last
position of the committed string. The modified code is designed to
exhibit the same behavior as the widget and quickwidget.
Fixes: QTBUG-118746
Pick-to: 6.5 6.6 6.7
Change-Id: I9adb7a9bea9493457a1d9d4b32338cdba30920a1
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
WebEngineDriver is a modified ChromeDriver and provides the same
functionality.
[ChangeLog][WebEngineCore] Added WebEngineDriver
Fixes: QTBUG-82046
Task-number: QTBUG-86869
Change-Id: Ib8a40e1f6ca883efa6776c647a5b57d2930593ae
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 613be810df6b6e83d64ceb015aaabf28e41d34da)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Plain Image is ok for loading one PDF page at a time, except that the
pdf plugin has to create its own PDF document object if it cannot reuse
an instance that is already open. So PdfPageImage was created just as an
optimization, with the expectation that the document will be given to
the document property. But in case someone doesn't understand and tries
to set only the inherited Image.source property instead, fall back to
QQuickImageBase::load() to avoid crashing. Amends
7b8832ca2b84d549c9d374550c3c46b3d4d42a38
If both the document and source properties are set, prefer the document
(for the sake of performance).
Add test coverage of other combinations of properties, while we're at it.
Pick-to: 6.5 6.6 6.7
Fixes: QTBUG-104767
Task-number: QTBUG-77506
Change-Id: I1ee0d0bb2a6c5f399234ddddd969be02e7a6c020
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Without the include module build with BUILD_TESTS=ON
is broken as cmake function call for dictionary setup is not
found.
This commit amends 73d58b489e8f4f900042f0ab6c1104e6431752e1.
Pick-to: 6.5 6.6 6.7
Change-Id: I2c02317b92e1b5726963d120bf97dff1a12c7375
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|