| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
[ChangeLog] QWebEnginePage is in QtWebEngineCore
Task-number: QTBUG-74585
Change-Id: Id326c89c868e9e7d53488bbd12cb321e1a0b79b7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Introduce temporarily PageView interface and DummyDelegate.
Change-Id: I3a3d57435c98b31a15fb6d777045e141d007486f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
This drops dependency on view delegate implementations
in web contents adapter client.
Change-Id: I73a0dda0a790b7afe3fa774b53db9aa263d48ef9
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
| |
Change-Id: Ia60a1b864bb173bfd12a94ac4791477a88ea0842
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
This is required to decouple 'view' logic from page.
Change-Id: I84ef8cf729ef87d9339cae3f1bb1f0c709035ccf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Drop duplicated enums. Use qwebenginesettings as private
for qquickwebenginesettings. This can most likely
be more optimized when profile is moved to core.
Change-Id: I04bdc6c5a35556bf6d38a273cefeeee9d2a0a310
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
| |
Change-Id: Ifdffc556278fa5d133da1896600a71248662e9fa
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
Removes certificateErrorControllerPrivate,
moves error handling logic to core.
Change-Id: I050f73f1e37eb9ae39ad471fe1673d2b6140cf89
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
Update qml certificate error test.
Task-number: QTBUG-74585
Change-Id: I9383052bd1e37160d03e3d66e8f2e4a749023736
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce new class qwebenginecontextmenurequest in core which merges:
* qquickwebenginecontextmenurequest
* qwebenginecontextmenudata
* implictly shared webenginecontextdata
Unfortunately new class has to be QObject, since we want to reuse it qml.
Q_GADGET can be used only as a value type, however we need to know if
request is accepted or not in qml, therefore it must be passed
as pointer. Since we use QObject now, class is no longer implicitly
shared, however we only allocate request once and reuse the object for
every new request (it is still copied in qml just to keep it aligned
with other request handlers)
[ChangleLog] QWebEngineContextMenuRequest is replacement for
QWebEngineContextMenuData
Change-Id: Ib387ec2065361a4bacc20675ca7352ab75a0e436
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog] createStandardContextMenu is moved from QWebEnginePage
to QWebEngineView
Change-Id: I08a7a1f7e55ca7396547006523cdec250a3ad117
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace Display{Producer,Consumer,FrameSink} with the new classes
Compositor and Compositor::Observer.
The Compositor subclasses are implemented by the OutputSurfaces,
replacing DisplayProducer in this role. Unlike DisplayProducer, the
new classes do not use QtQuick scenegraph types, but rather give
access to the software QImage or OpenGL texture directly.
The connection to the "other half" is simplified by replacing
DisplayConsumer with Compositor::Observer, which is no longer
implemented by RenderWidgetHostViewQt, but directly by its delegates
in the quick and widgets libraries. RenderWidgetHostViewQt now only
provides the delegate with a Compositor::Id which is used to connect
the corresponding Compositor and Observer.
The delegates are responsible for generating QtQuick scenegraph nodes
from the information provided by the Compositor subclasses.
Behavior with software and old OpenGL scenegraph backends is
unchanged: both continue to work. As for the RHI scenegraph backend,
the code here is correct but nonetheless not working: changes are
needed in qtbase to make RHI use the global share context for its
OpenGL context.
Fixes: QTBUG-78682
Change-Id: I837da8860a18ec366ed33f6ecc44c147245e1101
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5fe08380e297cdf8138df0b49b3c82e741f54dd1
Pick-to: 5.15
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using QSharedPointer's reference count to communicate
adoption/non-adoption, change adoptNewWindow to return a adapter pointer, with
null meaning non-adoption. Then change QWebEnginePage's implementation to reuse
already existing adapters if possible, restoring previous behavior of
OpenURLFromTab when createWindow returns this.
Task-number: QTBUG-80596
Change-Id: I8ee7c31e4294aabd3207c504cba67d6171c66cb0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a QWebEnginePage subclass where createWindow returns the this-pointer, we
get a crash in WebContentsDelegateQt::AddNewContents because AddNewContents
expects the adapter to be adopted already, but QWebEnginePage delays adoption.
Revert 3855015600 by getting rid of the delayed adoption code path. It's not
needed anymore with the delayed initialization of the WebContentsAdapter.
Revert 8a4091c210 by forcing adoption of the adapter even when it doesn't have
contents. This no longer results in a crash since OpenURLFromTab ensures that
the adapter is initialized before use. However, it does result in a behavior
change since return-this now consistently overrides the adapter, so, e.g.
navigation history is now always cleared whereas previously it was only cleared
by the AddNewContents code path. Fixed with new approach in next patch.
Fixes: QTBUG-80596
Change-Id: I4d2230c1bffcf2d77fa59ded9be51da49a820474
Reviewed-by: Kirill Burtsev <kirill.burtsev@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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce defer() method for halting URL load on certificate errors,
and methods for rejecting and ignoring these errors subsequently
in async manner.
[ChangeLog][QtWebEngineWidgets][QWebEngineCertificateError] New
methods for asynchronous decision on certificate error during load.
Fixes: QTBUG-55110
Change-Id: Ib23eb568862ccc360208922a6a581f8e7edc4a7e
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a replacement for the callbacks. Also introduces
QWebEngineFindTextResult class what is common for the Quick and Widget
APIs. This makes possible to provide extra information about the match,
eg. the number of matches and the index of the currently highlighted match.
[ChangeLog][QtWebEngine][WebEngineView] Introduces findTextFinished
signal and FindTextResult type to provide extra information about the
result of a text search.
[ChangeLog][QtWebEngineWidgets][QWebEnginePage] Introduces
findTextFinished signal and QWebEngineFindTextResult class to provide
extra information about the result of a text search.
Task-number: QTBUG-50420
Change-Id: Icb9737d2f596e6bc0fc5733144eeeaf2a77aab02
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[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>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/3rdparty
src/core/render_widget_host_view_qt.cpp
src/core/web_contents_view_qt.h
src/core/web_engine_context.cpp
Change-Id: I17f3a4814e88a5680dc61a6d734c171ccba00e8c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Follow the other implementation and pass TakeFocus to WebContents
Delegate, and hook to our UI from there. Also fixes use of Blur instead
of LostFocus, which means we now render unfocused more correctly.
Change-Id: I34a1882489bc68b9ff36ed5139af0ee8a3a95b79
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I1dd136df7004b11e2f38a2ec4e82a6fa81627479
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently users might forget to delete webcontent client before
profile adapter. This might be nasty if users are not aware of default
profile. Instead of asserting badly in chromium, clean up and release
chromium resources.
This avoids the crash, but might leak memory if users never deletes
page.
Task-number: QTBUG-74021
Change-Id: I66f466f169d12f7ee08866d505260dca47800bb0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
|
| |
| |
| |
| |
| |
| |
| | |
It's always 1.
Change-Id: I1c3d5bc3080da90379f03b6d0819c5656334751e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Touch handle and touch selection menu are not implemented for widget.
Task-number: QTBUG-59999
Change-Id: Ia492e58b83d3ad38cdf6877d468724c399f34367
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/render_widget_host_view_qt.cpp
src/core/web_contents_adapter_client.h
src/webenginewidgets/api/qwebenginepage_p.h
Change-Id: Ibd011c40839c09469218ac4c71a13d0a0b1c9778
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On the Quick side, navigation actions were dependent on the context menu.
They were only updated when requesting a new context menu and this is
obviously wrong if an action is tied to a button or another type of UI
element.
Change-Id: I5f14b019b66215f16d027fb57d76f052b1604365
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Makes it possible to make page specific intercepts, and is at the same
time safer by running in the UI-thread.
[ChangeLog][QtWebEngineWidgets][QWebEnginePage] Added
setRequestInterceptor, similar to the same call on profile except
it operates on a per-page basis and on the UI-thread.
Change-Id: Id5a7173156c25d0f030f00b6ef314d283c7c8cdd
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds printRequested() signal for web content. This signal
is emitted on javascript window.print().
This change updates also qt printview manager implementation,
fixes a corner case and warnings about ipc unconsumed attachments.
Task-number: QTBUG-69237
Task-number: QTBUG-53745
Change-Id: I0c47b732e27e929ac6db237fb562b7d5f9b959c2
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
To be able to determine where a download was triggered.
[ChangeLog][DownloadItem] Added a page/view accessor to tell were
the download was triggered.
Change-Id: I21843a545a3e0eb66f5e5fa8a50e77564f2118a7
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Follow change of BrowserContextQt to ProfileQt.
Fix wrong naming usage of browserContext instead
of browserContextAdapter.
Change-Id: I75fdac685d9bffd44f0144921d3e87305d6d44c9
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creates the default client cerficate store for the platform and when
given a choice of client certificates forwards to the choice to
the application.
Only a Widgets API for now.
Task-number: QTBUG-54877
Change-Id: Ie15152398d5769579fa0c07e3e3035c2374e9940
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously configure was generating two config headers
qtwebengine-config.h and qtwebengine-config_p.h, however
those headers were never installed or included as dependency
in Makefiles. Moreover, due to the name clash all features
were included into qt_lib_webengine_*.pri which is
QtWebEngine QML module.
Move configure to core so all features belong now to
qt_lib_webenginecore*.pri. Fix global includes to include
qtwebenginecore-config*.h.
Drop all DEFINES and use QT_CONFIG instead.
Cleanup all evil looking includes in headers for webengine and
webenginewidgets.
Change-Id: Iddbc8bf4487d9a5f0c19a71a9569535083507756
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| | |
refs/staging/dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The drag creates raster window, which on eglfs platform
can be problematic. In case of running qml based
browser without backing store, this will try to create a
backing store during drag event, which will abort on eglfs.
Therefore avoid the drag in qml in case the platform does
not support multiple windows.
This patch has the side effect of disabling drag even
when qml runs with backing store, i.e. using QQuickWidget and
therefore creating another raster window is not an issue.
[ChangeLog][Behavior Changes] Drag&Drop is now disabled for
QML based applications, when platform does not support
multiple top-level windows (like EGLFS).
Task-number: QTBUG-57516
Change-Id: I0c2685ba90914fe1f7168c79744c55e07e589488
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BrowserContextAdapter is living and accessed only in UI thread,
remove QSharedPointer usage and change QWebengineProfile to use
QPointer. Prevent BrowserContextAdapter outliving WebEngineContext
by setting globalObject as a parent to track WebEngineContext
destruction.
This commits tries to simplify the life cycle handling
of browser context, it removes profile shutdown
methods and QWebEngineBrowserContext, which was used
to track profile destruction.
Task-number: QTBUG-62147
Change-Id: I79f2c38a123cd053e3a59f4900afbdc759a396fe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
| |
Stop exporting quota / RegisterProtocolHandler request controller classes, and
use the public wrapper classes in WebContentsAdapterClient instead.
Change-Id: Iaa380b6ceb4f9464fc05dd012ee5df219f11f189
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Remove 'permission' from class and signal names, so e.g.
QWebEngineQuotaPermissionRequest becomes QWebEngineQuotaRequest and
quotaPermissionRequested becomes quotaRequested.
Rename the internal controller classes to public name + "Controller".
Change-Id: I247714ab0a2880adbf4ed8ee68f1b78838ae7a14
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Avoid creating a blank WebContents for new QWebEnginePages only to replace it
with a different blank WebContents moments later. This problem is already
solved in QQuickWebEngineView by lazy initialization, therefore the patch
moves this lazy initialization into WebContentsAdapter itself so that it can
be applied to both QQuickWebEngineView and QWebEnginePage.
- Try to delay WebContents creation until the first navigation so that we have
enough information available to pick the right initial SiteInstance when
calling WebContents::Create. This is done by triggering WebContents creation
from the first call to a WebContentsAdapter::load* method.
- Use the SiteInstance from WebContentsDelegate::OpenURLFromTab. This method
gets a SiteInstance pointer which we should give to WebContents::Create.
Task-number: QTBUG-65561
Task-number: QTBUG-67163
Change-Id: Id7b351998adefb810cf27c61a1447b61d7f4c606
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
Form validations messages has moved entirely to being done by Blink.
Change-Id: I6742c111fc59f0baba75b8b37f5d0ec9ae2fb920
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|