| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
|
| |
| |
| |
| |
| |
| |
| |
| | |
Based on a patch Dmitriy Kuminov.
Change-Id: I5365b16e3b25fcfc5e8be33e6cdcfb85e3e118e4
Fixes: QTBUG-72540
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|/
|
|
|
|
|
|
|
| |
Replace separate notifications from delegate with one combined notification and
change detection. Store view rect, window rect and screen info in RWHVQ to
ensure the properties are in a consistent state.
Change-Id: Icef8a17e72882f56db249f5553b6cf554e1f91dc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do the update after the input properties are changed in
RenderWidgetHostViewQt. Moreover, always update on input
state changes, like cursor position, surrounding text and
text selection (see QInputMethod::update() docs).
Task-number: QTBUG-70158
Task-number: QTBUG-71995
Change-Id: I9d5c6e299826fbe66f5285b648013ef79aabed9b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Means we can get screenshots in devtools.
Change-Id: I7b50d6ac5a54d236573bcf5f58ae872bd50dccad
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
| |
Change-Id: Idd100dd057944d35ba369ce88dcc32a308c1a6ec
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Get rid of old QSG type names, and also remove redundant setupTiledNode
call.
Change-Id: Ifbd83f6bdc0e029eb52899b20562ef6606f5562b
Reviewed-by: Michael Brüning <michael.bruning@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>
|
|
|
|
|
| |
Change-Id: Ibf016b795ff98fddfa29fb5dc63924a2d2159d71
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
tests/auto/quick/qmltests/qmltests.pro
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
Change-Id: I2a1e3a83e29a1d6709f3e98fda3f7b4ab7ab297e
|
| |
| |
| |
| |
| |
| |
| |
| | |
Forward QEvent::Leave for Widget and QEvent::HoverLeave for Quick.
Task-number: QTBUG-64265
Change-Id: Ide32768902956476d24b1d4115e305392b62feb3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moreover, extend the list of supported editor shortcuts and stabilize
the corresponding auto test.
Task-number: QTBUG-54692
Task-number: QTBUG-54812
Task-number: QTBUG-54221
Task-number: QTBUG-59053
Change-Id: I4dd8230519639ea6e3340992dbb54a609ecfcd91
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-62433
Change-Id: Icdc3355ca9d1ec4fb25d512c56c19aca94ae8928
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-63098
Change-Id: Id5fd1f940c928fd74bdc3c202f3e8b18a086c2d0
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\|
| |
| |
| | |
Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ibad2b8ebb90e79ff8337d994b2234eed5e230daa
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise an application shortcut like Shift+Delete would no longer
work when webengine has focus (e.g. "delete mail" in KMail)
This removes unconditional calls to editorActionForKeyEvent for
ShortcutOverride event handling. We can remove those, because the key
sequences that are checked by editorActionForKeyEvent are a subset of
the key sequences checked by isCommonTextEditShortcut.
This amends commit 3902b27e.
Change-Id: I12a98368381edef36f11457c8b864d843efb871a
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/
|
|
|
|
|
|
| |
This patch also fixes the update of the ItemAcceptsInputMethod flag of QQuickWebEngineView
regarding to the focused element in the view.
Change-Id: Ic6e39401bdc7ca5fab9cc03e878aa731f23fc147
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When users defined a single-letter short cut it was not possible
to type this letter in HTML input fields.
Fix this by accepting ShortcutOverride events whenever the web page
is editing text.
Use QInputControl::isCommonTextEditShortcut for Qt 5.9 and later.
For the case where QtWebEngine is built against an older Qt a duplicated
code path is used.
Also, ensure users do not override web action short cuts.
Task-number: QTBUG-59053
Change-Id: Ic26cf2a040a72b118273c6645c00b2913b995b0b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the OS provided QNativeGestureEvents for pinching and smart
zooming. This replaces the usage of the Android based gesture
recognizer on macOS.
This also implements multitouch gestures to work with the Qt Quick
implementation of QtWebEngine for macOS, because touch events
are ignored by default on macOS in QQuickItem.
Task-number: QTBUG-58779
Change-Id: I17399e4e89a57557540b2fd0940a445326b682f3
Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
6f84a09dfb and b2501b0bda in qtdeclarative introduced a synthetic
hover move event being sent once per frame if the item underneath
the mouse is marked as dirty. This triggers a loop when the web
contents changes reacting to mouse move events as the item needs to
be marked dirty to be rerendered.
Ignore hover move events if the position of the mouse has actually not
changed to work around this.
Task-number: QTBUG-58561
Change-Id: Ic7f3c06e7acf5dfeacc95e347bd026233c957556
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
src/webengine/api/qquickwebenginesettings.cpp
Change-Id: Ie4abadb076c51d070cbb05f29b9ebcd9705933ad
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
Change-Id: I49d99b5ac2cfba243eda1ea705c2a7d71b5542f6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Based on widget solution: 1e83a2d1b61b13323163dfe8cac64dad397cb202
Task-number: QTBUG-55650
Change-Id: I6df45e7e018fa201c50fe81e8679c36f97ddeb1e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/core/delegated_frame_node.h
src/webengine/api/qquickwebenginecontextmenudata.cpp
Change-Id: I163488d0d32cd981351608b2886f12e547e24672
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic739ab9db0851cc13467168840ea2549996432f8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There was introcuded a new logic which proves that
no mouse / keyboard events are forwarded to
Chromium if the view has no focus, and activeFocusOnPress is set to false.
The selection box get focus when the user click on it,
but the popup window never get (focus is on QuickRootItem)
in this case these mouse events are ignored to forward to Chromium.
Task-number: QTBUG-54795
Change-Id: Id6e81ee39dcde21a6c5c46e302888b9e9478352f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Defines the qtConfig() test for older Qt versions, and fix
conflict between two QSGRectangle definitions.
Change-Id: Icf4ef2f88d9e98e7aea4e88d777827bf69a4c281
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Id5f97771be23a4393e8d3be98903c321377ae809
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/webengine/api/qquickwebenginecertificateerror.cpp
src/webengine/doc/src/webengineview.qdoc
tools/qmake/config.tests/libcap/libcap.cpp
Change-Id: I2a2cfc904a8d6b561fb71ef7a0cc4bfb860124db
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, when a WebEngineView's RenderWidgetHostViewQtDelegateQuick
had focus, but not activeFocus, Chromium was told that it had keyboard
focus. That is not correct, because having focus inside the FocusScope
(the WebEngineView), does not mean it has keyboard focus, it just
means the RWHVQDQ will receive active focus, when the WebEngineView
does.
The call path for that erronous check was done when a new page was
loaded, specifically going through
NavigatorImpl::DidNavigate() ->
RenderFrameHostManager::CommitPending() ->
render_frame_host_->GetView()->HasFocus() ->
RenderWidgetHostViewQtDelegateQuick::hasKeyboardFocus(),
which resulted in incorrect display of a blinking caret in an
input, when the view actually wasn't focused.
The fix consists in checking for the activeFocus rather than the
focus property.
Change-Id: I97002be3fc8adfec2228a1b5ad62696f8872d3cc
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also blacklist tst_QWebEnginePage::comboBoxPopupPositionAfterChildMove()
and comboBoxPopupPositionAfterMove().
Conflicts:
.qmake.conf
src/3rdparty
src/core/render_widget_host_view_qt.cpp
src/core/resources/resources.gyp
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
tests/auto/widgets/qwebenginepage/BLACKLIST
tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
tools/qmake/mkspecs/features/functions.prf
Task-number: QTBUG-55158
Change-Id: I1d73ac9b3ca5293ad3c7e3a56f4c395da930e6f4
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To ensure Chromium is given a chance to handle editor commands,
we must override these short-cuts.
On OS X we must also perform the action afterwards as these are not
handled internally by the Blink Editor.
The patch solves copy/paste in flash plugins and copy/paste on OS X
when no application short-cuts have been defined. The handling of
short-cut override events is based on how it was handled in Qt WebKit
Task-number: QTBUG-54221
Change-Id: I748671c7bfa5662aae16c6a4b9bbe5e2bce1b907
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use the new public QSG classes meant to replace QSGSimpleRectNode and
QSGSimpleTextureNode.
Change-Id: Icdfc3b4ba13dd28258defa955d050927abbae95b
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
What was previous called QSGImageNode is now
QSGInternalImageNode
Task-number: QTBUG-54312
Change-Id: Iec286765bea5598d86932c81bfd122461a2e9884
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I561c00b3a844ab493a5bf0148a5923662842cf5d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a QQuickWebEngineView does not have focus, and activeFocusOnPress is
set to false, a user can still partially interact with the view. For
instance hovering the mouse over a link would change the cursor, a link
can be clicked to go to a different page.
Clicking on a text input field would focus the text field, but entering
characters will not be possible, because the view does not have QtQuick
keyboard focus, and clicking does not give the focus (because
activeFocusOnPress is set to false) and this leads to confusing
behavior.
Thus the fix is to make sure no mouse / keyboard events are forwarded
to Chromium if the view has no focus, and activeFocusOnPress is set
to false, in order to maintain a more user-friendly behavior.
Manually forcing the focus via some user-provided method that calls
forceActiveFocus() would allow further proper interaction.
Change-Id: I72c3ff69438972b9a93ee2d415fa1d4b44b86cd9
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently if a < 3.2 OpenGL Compatibility profile is requested on OSX,
a webengine application would crash saying that the global profile
does not match the default profile. That happens because in the Cocoa
QPA any requested OpenGL Compatibility profile or Core profile with
version smaller than 3.2 gets reset to QSurfaceFormat::NoProfile and
version 2.1.
Fix consists in making sure that the QSurfaceFormat check only
considers Core profile with versions >= 3.2. All other combinations
would result in NoProfile 2.1 and thus not cause any issues for
webengine.
Change-Id: I7c9866d761c052e52389022abe8e213d062db41f
Task-number: QTBUG-51058
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp
tests/auto/widgets/widgets.pro
Change-Id: Id9444359ed2e35d469331db96a355c9ea2d095d5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Setting a new default QSurfaceFormat after
QtWebEngineCore::initialize() is called, might lead to a crash.
This happens when the new surface format has a different OpenGL profile,
compared to the profile created by web engine in the
RenderWidgetHostViewQtDelegateWidget constructor. The default
constructed QSurfaceFormat has an OpenGL Compatibility profile.
Inside the Cocoa platform plugin when a new shared OpenGL context is
created, it fails to initialize the new context because of the
difference in profiles, and thus ultimately creates an unshared
context, which leads to a crash.
Fix consists in using the shared context QSurfaceFormat in the
RenderWidgetHostViewQtDelegateWidget constructor, and also printing
a fatal warning to notify the developer only to set the new
QSurfaceFormat before the application instance is declared.
Bottom line, if the QSurfaceFormat OpenGL profile has to be
changed, it should be done before QtWebEngineCore::initialize() is
called. Doing so after initialize() is called, will lead to a crash.
Change-Id: I8a07211b592143d736b001556b944d4759802396
Task-number: QTBUG-50665
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
| |
Update files using old header.LGPL3 to use header.LGPL
Update files using old header.FLD to use new header.FDL
Update files using old header.BSD to use new header.BSD
Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch deactivates the web view with a FocusOut event when it turns
to invisible and Chromium closes its WebUI popups.
In case when the window is closing, we can't always rely on the destroyed()
signal or the visibility state of the WebEngineView, since we have multiple
top level windows and the destroying order of the items is not so trivial
as in the single-window case.
Task-number: QTBUG-49099
Change-Id: I802a47c72eed3ed6352f1ba24998622fc95bb48a
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
This allows to use a WebEngineView to make a UI element that should not
get focus, which can be useful inthe case of hybrid UIs.
[ChangeLog][QtWebEngineQML][QQuickWebEngineView] Add activeFocusOnPress
Change-Id: I0666f81badd135db0049e0dd7b0fc30d0765b1c9
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
| |
This can come in handy to make an HTML based input method keyboard
Change-Id: Ieaf49a676262f40b0f250dc67e2f1cd0eeb08d82
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Notify the RenderWidgetHost about visibility changes so that we
receive updates with non-empty DelegatedFrameData when a page was
loaded in an invisible WebEngineView and then made visible.
Task-number: QTBUG-42789
Change-Id: I4856efcd9c0ce44b66a228d5a414198df46b95eb
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|