| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a page is destroyed during printing, there is no view to emit
printFinished() and yet the printer thread continues in the background
until the job is finished.
We can improve things somewhat by requesting an interrupt and exiting
early in the printer worker thread. Then at least users do not wait
around forever for the printer to be idle and deleteable.
Add tests both for this case and basic printing with `print(QPrinter*)`
Task-number: QTBUG-140232
Pick-to: 6.8 6.10
Change-Id: If43677b7ad8021d72dd945fd36c3263234692b95
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Id8766117930315004512a65529642ea818125724
Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io>
|
| |
|
|
|
|
|
|
| |
Also slightly reword the section to make it sound better.
Pick-to: 6.10
Change-Id: I512f7acc17a28afb9514c8fed05c72d792133577
Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io>
|
| |
|
|
|
|
|
|
| |
QUIP: 23
Fixes: QTBUG-138714
Pick-to: 6.10 6.9 6.8
Change-Id: I330d87a2441a9256965892b0078a9d6d23f9f60c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I9615f0a095843fdf295e454a93476cf349f7fc76
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Id2d09604201b2c007c76328f92bb4e0c0d802cae
Reviewed-by: Michal Klocek <michal.klocek@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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While loading URLs, QtWebEngine will remove the old widget from the
layout and then add the new widget. When hiding the old widget from the
layout, it loses focus. As a result, the focus is not set to the new
widget. Modified the code to check whether the old widget has focus
before it is hidden.
Amends e227bbddbfc03c45735978f5b83994235225569a
Fixes: QTBUG-133649
Pick-to: 6.9 6.8
Change-Id: Iac4b1317ed469bfa32e18f0e18361a2279b77cf6
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
| |
Change-Id: I65b22658eb46e2460e0bd8d82f528671b33fad66
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.9
Change-Id: I3255a89539d23393ca1d0d7ebc440fe7e088d859
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickItem::setCursor maps the cursor position to the window
while the Item's position is mapped to the View.
If the View is moved inside its container, the offset is ignored
on the Item. Ergo View.pos != Item.pos breaking hittesting of setCursor.
Fix this by forwarding Item::setCursor calls to the View.
It is safe since the Item shares its coordinate system
with chromium and works as a proxy to the View.
Fixes: QTBUG-111927
Fixes: QTBUG-123889
Fixes: QTBUG-115929
Pick-to: 6.8 6.7 6.6
Change-Id: Idee5ba043774952b554874ce654279cb5029ef1d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In some cases the event loop exits before
WebEngineQuickWidget::deletLater is called.
In this scenario the object will not be deleted.
Fixes: QTBUG-126401
Pick-to: 6.8 6.7 6.6
Change-Id: I9de8640c6f8d3b0f04665bce664f8b91523ddb69
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It crashes due to missing preferences. This patch isolates push message
related prefs and uses their 3rdparty registration functions where it's
possible - hoping to reduce their maintenance time in the future.
Correct a missing character in the docs.
Pick-to: 6.8 6.7
Change-Id: Ia713bdb16edef8bc535624ba61a47c9f5d7c4155
Reviewed-by: Michal Klocek <michal.klocek@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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If QApplicationPrivate::wheel_widget is present all wheel events are
forwarded to the wheel widget. If the wheel widget doesn't handle the
event, it is forwarded to the parent widget. With QtWebEngine in
the picture, all the mouse wheel events are forwarded to Chromium.
If Chromium doesn't handle the event, QtWebEngine will send the
unhandled mouse wheel event to the parent using qApp->sendEvent().
This operation is performed asynchronously. There is no immediate way
to determine whether QtWebEngine is going to handle the event.
If QApplicationPrivate::wheel_widget is not null, the mouse wheel handling
logic will forward the unhandled event back to the wheel_widget
which is QtWebEngine in this case leading to QtWebEngine grabbing all
mouse wheel events. Also there is no way to get proper phase
information from the Chromium, and the unhandled events are forwarded
with Qt::NoScrollPhase. QApplicationPrivate::wheel_widget is set to
nullptr to avoid the crash.
Fixes: QTBUG-121359
Pick-to: 6.7 6.6 6.5
Change-Id: I01fef5605c264fdc97df041d57dc3589aa17c49f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need
the autogenerated exports header file.
Task-number: QTBUG-90492
Change-Id: Ifb068ca6eb404fefe4587346df8c511413f372f5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Moss Heim <moss.heim@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
While loading URLs, QtWebEngine will remove the old widget from the
layout and then add the new widget. If the old widget is the focused
widget, while deleting the widget, it will clear its focus, thereby
causing QtWebEngine to lose focus. Therefore, if the old widget has
focus, set focus to the new widget.
Fixes: QTBUG-122153
Pick-to: 6.7 6.6
Change-Id: I095a654ae80ad8089758eb785d4186a9708064a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For transparent background color, QtWebEngine will set the attribute
Qt::WA_AlwaysStackOnTop to true. This change necessitates triggering an
update on the top-level window. The code has been adjusted to invoke an
update on the parent widget if one is present. Additionally, update is
disabled while widget attributes are being updated, and re-enabled once
all attributes are properly set. This prevents unnecessary updates and
ensures the widget updates only after all values are set.
Fixes: QTBUG-120273
Fixes: QTBUG-121227
Pick-to: 6.7 6.6
Change-Id: Id2a103a59e9dfeb98ac2245ec274360e3c65f239
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Moss Heim <moss.heim@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The previous wording made it sound as if baseUrl must always be
non-empty, however this only affects external content relative URLs.
Fixes: QTBUG-90927
Pick-to: 6.7 6.6
Change-Id: I0dff3368dec60b5734c1b12bbfe3f4aefc240e14
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use plain text instead of escaped html to match
other browsers behavior.
Also set the text format for qml dialogs.
Pick-to: 6.6 6.7
Fixes: QTBUG-119245
Task-number: QTBUG-83338
Change-Id: Icb2c9fd21f27487418835372d6afda96a6812cc3
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
| |
- Added a default icon to action using the newly introduced QWebEngineViewPrivate::webActionIcon()
Fixes: QTBUG-119722
Pick-to: 6.6 6.7
Change-Id: I4ee9b4380ead80d991756147bfef40f0f17c0849
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- All mouse wheel events are forwarded to Chromium.
- Forward unhandled wheel events by Chromium to the parent widget.
- Impersonated QSpontaneKeyEvent in Qt WebEngine to set
spontaneous flag and forwarded the event as spontaneous.
Fixes: QTBUG-118398
Pick-to: 6.7 6.6 6.5
Change-Id: I4ec831b0077edc3d833fdd7ae8d31a5535b0c05b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-115044
Pick-to: 6.5 6.6
Change-Id: I83314f3b7955e1ef9c857bcc96c07f6f90b2f875
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All these TUs relied on transitive includes of qpointer.h, maybe to a
large extent via qevent.h, though, given that qevent.h is more or less
the only public QtBase header that includes qpointer.h, something else
seems to be at play here.
Said qevent.h actually needs QPointer in-name-only, so a forward
declaration would suffice. Prepare for qevent.h dropping the include.
The algorithm I used was:
If the TU mentions 'passiveGrabbers', the name of the QEvent function
that returns QPointers, and the TU doesn't have qpointer.h included
explicitly, include it. That may produce False Positives, but better
safe than sorry. Otherwise, in src/, add an include to all source and
header files which mention QPointer. Exception: if foo.h of a foo.cpp
already includes it, don't include again.
Task-number: QTBUG-117670
Change-Id: I7c18d8cfea4eb65eb7b518b03eedf3750dd45916
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Do not try to start print preview automatically, just notify the
embedder via printRequested signal instead of crashing.
Also fix the signal name in WebEngineView docs.
Pick-to: 6.6
Task-number: QTBUG-104610
Change-Id: I251e0b8f6f03a73236320a66a0d3c7690939d88b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
-Change qtdeclarative/a184f2e0abfa0daf9190b72901208373dd5c1f79
enables QQuickWidget to be used with all Graphics APIs.
-Removed the exclusion introduced by QTBUG-100285
Pick-to: 6.6 6.5
Fixes: QTBUG-113512
Change-Id: Ib2c381cad021804e41e646b08196314960e480a6
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Be consistent with the other modules, and promote
Qt6:: targets instead of the (mostly functionally equivalent)
Qt:: one's.
Pick-to: 6.5 6.6
Change-Id: I4da0b7a29782d8927de5e5eafcaf934afb128937
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-113160
Pick-to: 6.5
Change-Id: Ic987711802db7eb32cdb15ac9f313d2203984981
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Document the fact Stop WebAction can interrupt the in-progress PDF
generation.
- Update PrintViewManagerQt::PrintPreviewDone(): Normally
IsPrintRenderFrameConnected() implies IsRenderFrameLive(), but we have
to check both to avoid crash when render process exits. (Like Chrome
does.)
- Update PrintViewManagerQt::RequestPrintPreview(): Handle that case when
print preview params were sent between processes at the beginning, but it
was interrupted before RequestPrintPreview() could start PDF generation.
- Add a simple auto test to catch crashes
Pick-to: 6.5
Task-number: QTBUG-108154
Change-Id: I8a4f9cc97ddcf9a165d66a5981d93a023858fbc1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This patch merges the qtwebengine examples recipe browser, stylesheet
browser and markdown editor into one single example.
Pick-to: 6.5
Task-number: QTBUG-108751
Change-Id: I338707d7d3275b03bf2a2d7b65064ac91e562d7f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Task-number: QTBUG-108751
Change-Id: I6e237b04d1f6a19f64516cd45aabe4d28099abd5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 34ebe8be93ab10766d034e5a3943a12c8de3a58e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I7128608467e4d0ce1b04efa9b82a98f78942d4db
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As JavaScript parsing issue got fixed , the limit was
not changed, meaning there where 4 "unused" warnings
possibilities. In the meantime another change
e6a13d97898f3f4b19f61006d0716ca9e1b9f037
was merged which had 3 qdoc issues, which got therefore
unnoticed.
Fix those issues.
Do not use underscore in example name and rename push_notification
to push-notifications (like qtbase network-chat).
Pick-to: 6.5
Change-Id: I2635424e24d3b9a0a02c2e6fe8ac383eec95c112
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][QWebEngineWidgets] Added touch selection menu.
Task-number: QTBUG-100418
Task-number: QTBUG-91712
Change-Id: Iffb994e429b92389e64cd6a93a0b034d6aa07f66
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Adds simple push service implementation in NodeJS.
Note setup for endpoint for qwebenginepage is not mentioned
as it has to be decided what to do with it (see bug report).
Task-number: QTBUG-107442
Change-Id: Iacfcb2a9d0c33c514b4046d06f866eb82390a240
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We did not really change pointers for doing a widget
and a item delegate binding. This at some point was
blowing up as we did not remove the old widget before
inserting the new widget into the internal webengineview
layout. The issue could get unnoticed for a while as the
old widget got eventually removed on a destruction.
However, at times when on the qlayout activation call
the old widget was considered, resize event
was triggered which was setting viewport to false value
(minimum size to hold two webcontents).
Make sure we remove widget before adding the new widget.
This fixes the widget and the item bind, however this
logic should be rewritten for dev branch as is get more
and more complex.
Fixes: QTBUG-107529
Pick-to: 6.4
Change-Id: I31d180b54f52e38b3c335cfa2bf3afa61e449677
Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
QtWebEngineWidgets: WARNING: qwebengine_accessible.h includes
QAccessibleWidget when it should include QtWidgets/QAccessibleWidget
QtWebEngineWidgets: WARNING: qwebengine_accessible.h includes QPointer
when it should include QtCore/QPointer
Change-Id: Idd6c3d30f6384f39a1792714ddefed89ca2df74e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We print multiple pages by repeatedly drawing in a loop, which works good
for PDF targets, but fails for physical printing. PPK_CopyCount flag is
provided to the printing backend which multiplies our effort in this
case.
Temporarily setting the print engine back to 1 seems to be more
reliable than trying to distinguish between paper of PDF target.
Task-number: QTBUG-104224
Change-Id: Ic1be15c6965e6a739bcd44c8d904ac19f67719b5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-100418
Task-number: QTBUG-91712
Change-Id: I69131d3c7c4511ea3114df7a9300bf6ff1a59fee
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I2ad190e5536cdbdc8d2656e61892545d66911a02
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Avoid WebEngineQuickWidget::rootObject() to steal focus from
the content item (RenderWidgetHostViewQtDelegateItem).
The root object is supposed to keep the content item alive and
not handling input events.
Fixes: QTBUG-105072
Pick-to: 6.4
Change-Id: I18e8ff39bfe338b742416bc56f6937edcfd2bc21
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|