| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Make RenderWidgetHostViewQtDelegateClient class instantiable and remove
its implementation from RenderWidgetHostViewQt.
Change-Id: Idcad3a805defe8b910f418b91f14808b6dbf083b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-83476
Change-Id: I63ad9801e3e97f7fdac959600c69c04d0105be1f
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since PermissionManagerQt functions independent of webcontents initialization,
permission installment may be done earlier (right after page base constructor).
Practically, this allows to grant/deny permission before first ever navigation
to avoid permission feature request from well-behaving web application.
Unfortunately, this only applies to Web Notifications: there is a way
to check without request: Notification.permission javascript static object.
Other supported features lack similar mechanism: they operate through
success/failure callbacks, which unconditionally invoke permission requests,
and Page/View API doesn't automatically answer with remembered permissions.
Task-number: QTBUG-83476
Change-Id: I63a3cbca25498d5026975073e125f2ab4f9ab2ad
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes several issues:
- Accepting mouse lock permission from modal dialog was not working on
Linux. XCB needs some time to activate the parent window after accepting
the dialog and we expected to have immediate active focus.
- Implementation of RenderWidgetHostViewBase::IsMouseLocked() was
missing.
- Fixed event.movementX/movementY by disabling ConsolidatedMovementXY
feature. Calculate movement properties in WebEngine instead of blink.
Task-number: QTBUG-83294
Change-Id: Ic03d05c1026a113cf5e8d22544fc508d9f285876
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebEngine is built without -DQT_NO_ACCESSIBILITY. qtgui-config.h defines
it but accessibility_activation_observer.h didn't include it if
accessibility was disabled.
Also replace all occurrences of QT_NO_ACCESSIBILITY by
QT_CONFIG(accessibility) in core.
Change-Id: I5e5e14885e04cd542ec9e52d770f7070e8edbf8b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use now network service avoid io-ui-io-ui hops,
pipe proxying url loader factory directly to ui thread.
This solves thread safty issues.
Add deprecated request interceptor test cases.
Task-number: QTBUG-83082
Task-number: QTBUG-82999
Change-Id: I38778cf1a70789c5e92e04c93d1c93e2cc4c765a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Will make it easier to expands with more features in the future
Change-Id: Ic7c1aca23a543c95a4873471c918f74606be2053
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
|
|
|
|
| |
Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After tedious investigation the issue boils down to error prone
synchronization of web engine settings. WebEngineSettings are
synchronized between the browser process and the render process.
Moreover in the browser process the sync message is send to the render
with QTimer::singleShot, which can cause race conditions if
for example QWebPage::setUrl was used meanwhile. This makes
current settings not being picked up by the render process and results
in 'titleUpdate' test case flaky. This happens due to the fact that
ShouldDisplayErrorPageForFailedLoad in the render process frame view
could have invalid value.
Try to sync web engine settings on every adapter load, setContent or
reload.
Mark some flaky settings in tests.
Fixes: QTBUG-83078
Change-Id: I5289472f146e104d5cb6c3b9b20b26d3dc42f4b1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquickwebengineview/BLACKLIST
Change-Id: I365daa73d2eb422ac916c32b86c5ad0d3c32086d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The RenderWidgetHostViewQtDelegate(Widget|Quick)Accessible interfaces
are forwarding their queries to the WebEngineView. In case of widget,
the view also forwards the query to the page.
The accessible interfaces may outlive the view and page. The interfaces
are not supposed to be used after the destruction of the underlying
objects. Thus, set the RenderWidgetHostViewQtDelegate and WebEngineView
accessible interfaces invalid if the corresponding pointers are null.
Also fix querying the root accessible interface of the web page when
the render frame host is not available.
This fixes crash when
QT_LOGGING_RULES="qt.accessibility.cache.debug=true"
is set and logger tries to pretty-print QAccessibleInterfaces during
destruction.
Task-number: QTBUG-78284
Change-Id: If18af0605061fcd82d019d0042dbf1c9d3a910be
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-80737
Fixes: QTBUG-81556
Fixes: QTBUG-81614
Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Including removal of renderer service.
[ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and
XSSAuditingEnabled no longer has any effect.
Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/renderer_host/web_channel_ipc_transport_host.cpp
tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp
Change-Id: I47f2b893bc9f27cd9df641f76badc9e53b482ad4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove code duplication on triggering new url load, and use direct
code to clear SelectedText instead of CollapseSelection as it assumes
focused frame and might be ignored.
Fixes: QTBUG-81574
Change-Id: I01cf02967e118f407c8a3997e176d5b258478a5a
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This can useful for e.g. implementing something like the "Task manager" in
Chromium or otherwise interacting with the render process (e.g. to kill it for
some reason while debugging).
[ChangeLog] Add a renderProcessPid() getter to (Q)WebEnginePage which allows
getting the process ID of the underlying render process.
Change-Id: Id5d59be9b6bd46ffc3a6aa480cb5ff7bd3b8aa31
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due security changes to prevent url spoofing, our implementation
is getting extra invalidate url requests. Unfortunately, this breaks our
url handling, which now gets lots of new back and fort url changed signals and
make several unit test failures. After tedious investigation of Chromium
omnibox handing and trying out different approaches, it seems that
only sensible solution is to follow Chromium logic and make
NavigationStateChanged to update 'ui' in asynchronous matter.
This change tries not break any tests and simplify url handling.
The only side effect of this change is that WebEnginePage::setContent will
get extra 'url' signal of initial 'urlData' and later 'baseUrl' change
is emitted.
Fix one of qml tests which did not expect to have url on LoadStartedStatus.
Task-number: QTBUG-63388
Task-number: QTBUG-48995
Change-Id: Id347f4325c036e16bfae7bf2f694905e0f21f8d7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to make QWebEngineHistoryItem::iconUrl of the deserialized
QWebEngineHistory object return the same URL it had when serializing. Otherwise
it's impossible to have favicons for URLs from the navigation history of a
restored browser session until these URLs are visited again
(so that Chromium refetches their favicons). These icons are usually needed much
earlier - e.g. when showing a popup with the navigation history and having an
icon URL allows to load it from a disk cache before visiting the page.
Fixes: QTBUG-78998
Change-Id: Ief2d089d52f301826e5c131d401cafd08952a8b5
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\
| |
| |
| | |
Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By not modifying the allowed actions instead of just setting it to be the
MoveAction will enable dragging from a webpage to another webpage to
work correctly. Otherwise it will potentially reject the drag because
it is seen only as a move, whereas it wouldn't be possible to really
move from one webpage to another as the original source cannot be
deleted.
Change-Id: I34105d10e7d1dc831016c33c9c6cfc544c4e084b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-77267
Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move most of the findText logic to the QtWebEngineCore::FindTextHelper
class. This change also separates findText callbacks in the new class
for getting rid of the request ID conversion and make it easier to
remove them in Qt6.
Task-number: QTBUG-50420
Change-Id: I348cedd0f90a49f9b360165c46319aeed2c236c0
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's an anti-pattern.
Even though we don't expect other threads to destroy the last QSP
while we use the pointer obtained from QWeakPointer, play it safe
and use QWeakPointer idiomatically: as a non-owning reference, to
be converted to an owning one for the duration of our use of the
payload object.
Amends 7cade5688f6a0bde067dc496cedcb8de14662116.
Change-Id: Ib1c136569c27f413a4a78bfc35784032c53522a9
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes a deprecation warning because QWeakPointer::data is deprecated
from 5.14 onwards.
Change-Id: I09b356b172cb9ffef880d6b97b4c6a9646203942
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
src/core/core_chromium.pri
tests/auto/quick/qmltests/BLACKLIST
tests/auto/quick/qquickwebengineview/BLACKLIST
tests/auto/widgets/qwebenginepage/BLACKLIST
tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
tests/auto/widgets/qwebengineview/BLACKLIST
Change-Id: I11b26f5eebde29c4c62247b90e11e3ae40789fe4
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/config/common.pri
src/core/configure.json
src/core/net/url_request_qrc_job_qt.cpp
src/core/ozone/surface_factory_qt.cpp
src/core/web_contents_adapter.cpp
Change-Id: If679aa179123f793639da3d8ee4ab5d116707754
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pass WebContentsAdapter pointer to lambda via QWeakPointer in case the adapter
has been deleted already.
Fixes: QTBUG-76958
Change-Id: I1962ba3dd1794a27e7013a2ad1b729fe7a08c079
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Not updating lastReceivedFindReply caused next findText call after
StopFinding to trigger redundant callback call on checking stale query.
Fixes: QTBUG-77029
Change-Id: Iad4b71364ecb3ec3db3096b739e77620d12731f9
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\| |
| | |
| | |
| | | |
Change-Id: I806417dd7a6d2594a86ee49feedc4ad9ee48add2
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/3rdparty
src/core/configure.json
src/core/profile_io_data_qt.cpp
tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
Change-Id: Ie8ae4aa03881a0733ff497fff46e3f7040735650
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-75505
Change-Id: Ia1329ff554a86e307aa7995e9af1665ea6c5e64c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also fixes the fact that WebEngine was passing POST data to Chromium
even if the request was not a POST request. This triggered an assert
in the backported code.
3aaf2ca833c [Backport] Security bug 906739
e4e10461659 [Backport] Security bug 906437
0a717e1dbe9 [Backport] Security bug 913212
c7fa9a16957 [Backport] CVE-2019-5803
ebe1e7068ca [Backport] Dependency for CVE-2019-5802 (1/5)
597dae52a3b [Backport] CVE-2019-5802 (1/5)
64d3770e5e9 [Backport] CVE-2019-5802 (2/5)
a34d2fb5dd1 [Backport] CVE-2019-5802 (3/5)
62f25b2d83f [Backport] CVE-2019-5802 (4/5)
a63d51633ab [Backport] Dependency for CVE-2019-5802 (5/5)
c6d0023bc59 [Backport] CVE-2019-5802 (5/5)
f7fcbe53871 [Backport] Security bug 905509 (1/13)
94f1317917f [Backport] Security bug 905509 (2/13)
812a9e68a2c [Backport] Security bug 905509 (3/13)
36c2c5e8b27 [Backport] Security bug 905509 (4/13)
8b01fa3780a [Backport] Security bug 905509 (5/13)
69b772f1e9a [Backport] Security bug 905509 (6/13)
f2dfd87785a [Backport] Security bug 905509 (7/13)
ec503eae3ed [Backport] Security bug 905509 (8/13)
f5a4144a132 [Backport] Security bug 905509 (9/13)
03d8580cf59 [Backport] Security bug 905509 (10/13)
03c4a4ffb98 [Backport] Security bug 905509 (11/13)
700a4af1fb5 [Backport] Security bug 905509 (12/13)
03be3aa656a [Backport] Security bug 917707
269d53ceabd [Backport] Security bug 905509 (13/13)
d720564a5ba [Backport] Security bug 938251
85136fedbde [Backport] Security Bug 929088
037efcfdba3 [Backport] Security Bug 931640 1/2
bea83ccee0f [Backport] Security Bug 931640 2/2
dd18af1614f [Backport] Security Bug 924905
e54c1076009 [Backport] Security Bug 919572
258feedf8e1 [Backport] Security Bug 919340
f4f1e852df5 [Backport] CVE-2019-5789
8566ec6cc21 FIXUP: [Backport] Security bug 905509 (3/13)
3d59c5717de FIXUP: [Backport] Security bug 906739
dd6863f4aea FIXUP: [Backport] Security bug 905509
43c92056fab FIXUP: [Backport] CVE-2019-5802
d6d21a17c5a FIXUP: [Backport] Security bug 913212
a4a129005d8 FIXUP: [Backport] Security bug 905509
38a6ae037ee FIXUP: [Backport] Security Bug 924905
d147ad350da FIXUP: [Backport] Security bug 905509 (3/13)
Task-number: QTBUG-74445
Change-Id: Ic8d750bc89950c0e020eb43881dbf03328108940
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtWebEngine][WebEngineView] WebEngineView now supports lifecycle
states that can be used for reducing CPU and memory consumption of invisible
views.
[ChangeLog][QtWebEngineWidgets][QWebEnginePage] QWebEnginePage now supports
lifecycle states that can be used for reducing CPU and memory consumption of
invisible pages.
Fixes: QTBUG-74166
Fixes: QTBUG-55079
Change-Id: I7d70c85dc995bd17c9fe91385a8e2750dbc0a627
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It is the host side of RenderViewObserverQt in the renderer dir, so
should be in the renderer_host dir.
Change-Id: I497a6442130993237a0b823e7dcdd121bd72355a
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Instead delay creating our render view just a little bit further in
WebContentImpl::OpenWindow until it calls delegate->WebContentsCreated()
Change-Id: Idd911d208bbfe419a2567220933eccb2ba726347
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia50b6689bdb182888aba44faf549d17747624833
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implements API for end-user notifications.
Co-authored by Allan Sandfeld Jensen
[ChangeLog][Profile] Support for Web Notifications API
for end-user notifications through QWebEngineNotification
Task-number: QTBUG-50995
Fixes: QTBUG-51191
Change-Id: Icebaaa05275a713e801f1f8ecdaaec725fa264c8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Unused method.
Change-Id: Iebdd2d0e2391b0aa897674c009a26110fbb51131
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds the Chromium extensiuon system to Qt WebEngine.
Currently, it only exposes internal APIs to the internal
PDF viewer extension.
To load a PDF, simply navigate to it.
This feature can be configured via the webengine-extensions flag
and is turned on by default.
Needs patch in Chromium 71-based to build.
Adaptations to 71-based from 69-based include:
* Flag out update installation, add crx file dependency
* Move PostTask over to 71-based implementation
* Move extensions API providers to 71-based implementaion
* Don't use custom guest view and mime handler view delegates
* Adapt the URLRequestResourceBundleJob to match new interface
* Move extension system initialization to end of profile constructor
Change-Id: I4fa5149057291bb5847f048534c11820cd7ff58c
Fixes: QTBUG-50556
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
Printing operations were blocking the UI thread, so applications
were irresponsive when printing in large size or high resolution.
Introduce a new worker for the painting logic and use shared pointers
to carry the data around and avoid copying PDF data between threads.
Task-number: QTBUG-68561
Change-Id: I30633380b75acd14f1a1df87985c99540168a9f1
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chromium creates "speculative" frames (RenderFrameHost and company) for pending
cross-process navigations (and maybe other navigations too). For example, a
redirect from http://qt.io to https://qt.io will trigger this, as described in
the bug report.
These speculative frames are loading in the background and only shown once they
are officially ready (as decided by the RenderFrameHostManager and signaled to
WebContentsObserver::RenderViewHostChanged). At least, this is how it's supposed
to work and how it works in Chrome. In WebEngine, however, we actually show
these speculative frames as soon as they are created and before they are ready.
This runs into the problem that the if the speculative frame is dropped (instead
of committed), then Chromium will not ask us to re-show the old frame (since it
hasn't actually asked to us to show the new frame, it naturally assumes we are
still showing the old one).
Fixes: QTBUG-68727
Change-Id: I9d53035ce60e3a002d5412d4473d940a32644b5d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
We can't not build with older than Qt 5.9 anyway due to QSG and qmake
changes.
Change-Id: Iff0247e70d9ffc1e045e2c571f0089d68df9a589
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
| |
It had too many headers, and many files depending on its over inclusion.
Change-Id: I5add1c4e07a14e017ac60db75efab5fc11e4166f
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|