| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
configure.json
examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js
examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json
examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc
mkspecs/features/platform.prf
src/3rdparty
src/core/media_capture_devices_dispatcher.cpp
src/core/net/url_request_context_getter_qt.cpp
src/core/net/url_request_context_getter_qt.h
src/core/web_contents_adapter.cpp
Change-Id: I467133ba455b1f85f6bb61793794c31cb1094541
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an HTML select box was clicked inside of a QWebEngineView and
the parent QWebEngineView window was moved using the mouse
(via window decoration toolbar for example) the popup window
would stay around instead of being closed.
This happened because of the usage of the Qt:Tool window flag for the
popup window, which implies a tool that floats near its parent window.
The fix is threefold:
1) Use Qt::Popup instead, similarly to how QMenu does it.
Whenever the parent window is moved, the popup will now get a
CloseEvent.
2) Handle the CloseEvent by telling Chromium to close and destroy
the popup.
3) On Windows the OS might send mouse move events to the popup RWHVQD
instance after its parent QWebEngineView, RWHVQD,
QWebEnginePagePrivate (client adapter) is destroyed. We need to
guard the mouse forwarding code not to access the client adapter
if it has already been destroyed.
The second point is done by telling Chromium that its popup lost focus
which it interprets as a sign to hide it, and automatically destroy
it. This will destroy the underlying RWHVQtDelegateWidget and
RWHVQt instances.
Task-number: QTBUG-59891
Change-Id: I47f94a93c495a6caa5de92a6022eaca154994eda
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>
|
|/
|
|
|
|
|
|
| |
It is a workaround that is no longer needed.
Task-number: QTBUG-64501
Change-Id: I51b7ad0a24cf80ee0c90be0c8c463ceeeee4239e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When encountering a 301 redirect, one render frame/widget is created for the
original URL plus one "speculative" render frame/widget for the new URL. Once
the speculative frame commits, keyboard focus should switch to the corresponding
widget. This doesn't work however, because QQuickItem::forceActiveFocus doesn't
give focus to the containing QQuickWidget. Fixed by using QWidget::setFocus.
Also changed simplebrowser to focus the QWebEngineView on startup.
Task-number: QTBUG-68076
Change-Id: I8dc42ba89bfdcd46a86c7dca357fdf1e94f439d4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-68224
Change-Id: I317915f0c81531e5858dfa3a76365b16266ce919
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We are not supposed to set the QWidget as non-visible, this removes the
widget from layout and focus, and no other QWidget does that on minimize,
instead just set qquickitem as non visible.
Task-number: QTBUG-65595
Change-Id: Iefb52243229d11879a7a38c641084c266eef2207
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It used to be needed in 5.6 for IME window placement purposes, but
since 5.7 when we switched to using QQuickWidget instead of
QOpenGLWidget as a result of commit
800365f6faad962a4dd2e71173527d285a3f62b5, the updateWidgetTransform
gets called implicitly because we forward FocusIn events to
QQuickWidget::event, which forwards them to QWidget::event which
calls updateWidgetTransform for us.
Task-number: QTBUG-63098
Change-Id: I0a0ba50c1491797b37765d26d761c358c156950f
Reviewed-by: Michael Brüning <michael.bruning@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to a current issue described in QTBUG-63180, requesting a 3.2 Core
context on macOS will advertise that a 4.1 context was created, even
though that is not the case. Because
RenderWidgetHostViewQtDelegateWidget will read the OpenGL major version
from the global shared context and then apply that to its own context,
this will cause a failure to create a shared context (one is 3.2, and
the other is 4.1).
The current workaround is to create the context with the default format
version, instead of the global shared one. This way all the requested
versions will be consitent.
Task-number: QTBUG-60605
Change-Id: I470c43ca9d15cb3887a0ed968b57c62518a33a72
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously when a popup window was shown, and the user issued a command
to close the only active main window (via a shortcut for example) with
a subsequent call to deleteLater(), the main window would be closed
and deleted but the popup would only be hidden, which led to the
application loop to still be running and not quitting, even though
there would be no visible window left.
The closing of a popup is usually done in the QWidget destructor when
the popup is still visible, but because we unset the parent right
before the parent is destroyed (which sets visibility to false), the
popup would not be closed, but only hidden.
Thus this change makes sure to explicitly close the popup when its
parent is destroyed.
Task-number: QTBUG-62311
Change-Id: Ia0bbf327929af55aac19767971ab0acde5715e21
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With QtWidgets the QHoverEvent handling is slightly incorrect
(HoverEnter and HoverLeave triggering Q_ASSERT), quite unnecessary
(Chromium works fine with just MouseMove events when mouse tracking is
enabled), and mostly unused (QHoverEvents are only delivered if the
WA_Hover widget attribute is set, which it usually is not).
QtQuick however does not have the equivalent of QtWidgets mouse
tracking, so to get mouse movement information into Chromium we have to
use HoverMove QEvents. But the HoverEnter and HoverLeave QEvents are not
used or useful for QtQuick either.
Task-number: QTBUG-62200
Change-Id: I333de2b6adcc24544935d36645036aedb07e51ac
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/
|
|
|
| |
Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-58362
Change-Id: Id4cf57c60da17538b224bb9bc91277c324c6a55d
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When clicking on a blank link target, the constructor of the
RenderWidgetHostViewQtDelegateWidget instance for the newly created
view is called with the originating QWebEngineView as its parent
and will connect its removeParentBeforeParentDelete slot to the
originating view's destroyed signal.
This leads to the situation where the delegate's parent will be set to
null when the originating view is closed, causing the view to display
only an empty widget with the actual web contents remaining live in
the background.
This patch removes the connection to the old view when initializing
the delegate as a child of the QWebEnginePagePrivate instance. The
addition to the layout updates the parent and child relationship
between the view and the delegate internally.
Task-number: QTBUG-58381
Change-Id: I448380478c2bcfcfbddaee8a35caf46010e57972
Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 58467ed1950ee070d0907cbdabb8466aba277305, the window type for dropdown popups
was changed from Qt::ToolTip to Qt:Tool to fix issues when using a
QWebEngineView inside a modal dialog on macOS.
However, this causes a separate window to pop up at least under Linux, so we use
Qt::ToolTip again there.
Task-number: QTBUG-58488
Task-number: QTBUG-58544
Change-Id: I951b91980be89a37ee07b19fca684d13b6098af0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The widgets object hierarchy related to focus goes like this:
QWebEngineView's focus proxy is ->
RenderWidgetHostViewQtDelegateWidget, which has an internal
QQuickRootItem defined by QQuickWidget, and the child of the item is ->
RenderWidgetHostViewQuickItem.
Previously when QWebEngineView::setFocus was called, the focus was set
on the RenderWidgetHostViewQtDelegateWidget and the QQuickRootItem,
but not on the RenderWidgetHostViewQuickItem. This caused for e.g.
an active HTML text input not receiving focus.
Make sure the RenderWidgetHostViewQuickItem is marked to have focus
within its root item, so that if the root item receives active focus,
so will RenderWidgetHostViewQuickItem receive it.
Task-number: QTBUG-58515
Change-Id: I175610e3dfebc03733aefe26c16f47096df8ff5b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Moreover, set ImHiddenText hint for password fields and add back the
corresponding widget auto test.
Task-number: QTBUG-55766
Change-Id: I3f76e19c8c33e11f3d9f515b6dc7d6e998c3c9a4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-56652
Change-Id: I1a6655587a9104dd817332e2eb5f886c057d8f64
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
Change-Id: Ib9c9eca457c1c42dab948e6cb56d44b57d5da32a
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/api/qwebengineurlrequestinfo.cpp
src/core/api/qwebengineurlrequestinfo.h
src/core/core_gyp_generator.pro
Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously when a QWebEngineView was inside a modal QDialog, trying to
click on a select tag option did not properly select the option. It
either focused the new option without closing the popup, or didn't
focus it at all.
Fix consists in making sure the newly created popup QWindow and
RenderWidgetHostViewQtDelegateWidget are marked as children of the
QWebEngineView, so that they are considered part of the current modal
session by the OS, thus allowing user interaction with them.
Because the ownership of the delegate widget should still be retained
by its respective RenderWidgetHostViewQt instance, the QObject parent
of the delegate is unset before the parent is destroyed.
Also to make it work on macOS, the window attribute has to be set
to Qt::Tool instead of Qt::ToolTip.
Change-Id: I56d6f446254a624428a0c661ac3c49eb409c931e
Task-number: QTBUG-54836
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/content_browser_client_qt.cpp
src/core/content_browser_client_qt.h
src/core/gl_surface_qt.cpp
src/core/print_view_manager_qt.cpp
src/core/web_contents_delegate_qt.cpp
src/core/web_engine_context.cpp
src/webengine/doc/src/qtwebengine-overview.qdoc
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
src/webenginewidgets/webenginewidgets.pro
sync.profile
Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also apply a4b04e4c on src/webengine/doc/src/qtwebengine-deploying.qdoc,
use the macro \macos.
Conflicts:
src/core/media_capture_devices_dispatcher.cpp
src/webengine/doc/src/qtwebengine-deploying.qdoc
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
Change-Id: Ia6092a56bfe23da7c06f5389718ebbc9b78ef820
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The position of the IME window is computed using the widget input item
transform. When a regular QWidget gets a focusIn event, the input item
transform is recomputed inside the
QWidgetPrivate::updateWidgetTransform method. This did not happen
for the QWebEngineView, because the focus event is handled internally
and not passed down to QWidget::event.
Fix consists in calling updateWidgetTransform manually whenever the
view receives focus.
The other cases when updateWidgetTransform should be called (namely
resize and move events) are handled properly by delegating to
QWidget::event.
Task-number: QTBUG-55634
Change-Id: Ic93662929e169d860f8ca567f1955da4dc45f9fe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QWebEngineView was not receiving any drag 'n drop events anymore since
the switch of RenderWidgetHostViewQtDelegateWidget's base class from
QOpenGLWidget to QQuickWidget. Turn off the default handling of drag 'n
drop events in RenderWidgetHostViewQtDelegateWidget to let its parent
handle those.
Task-number: QTBUG-57006
Change-Id: Icf29b2619e9b0c36641cb31eafdd2ee5cd0ab38a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-54327
Change-Id: I759598d56aa0a74b64092365b422a743fb508ac6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
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>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/core/resources/resources.gyp
src/webengine/doc/src/qtwebengine-overview.qdoc
src/webenginewidgets/api/qwebenginepage.cpp
src/webenginewidgets/api/qwebenginescriptcollection.cpp
src/webenginewidgets/api/qwebenginescriptcollection_p.h
tests/auto/widgets/qwebenginepage/BLACKLIST
And readded newly in 5.6 enabled tests to the BLACKLIST.
Change-Id: I4ab1fc54ebfaaf940df81b0d8d6bdd15cae8b7c4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Suppose having a QWebEngineView as one of many child widgets in a
layout. Resize some child widget such that the position of the
QWebEngineView changes (without changing the position of the top-level
window). Chromium must be informed of the changed global position,
otherwise popups will be opened at the old position.
Also see commit 7f941a34, which originally introduced the coordinate
propagation for top-level window moves.
Task-number: QTBUG-51244
Change-Id: Ieb372e8d7554700d5e8d1e2148ab778094ea3878
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |\|
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is essential for set tooltip in Qt Quick part
because the setToolTip function should not be public.
Change-Id: I1ebd0c811504fded8edff1a5a6110ce3512bab4f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To support scenegraph-ng we need to switch away from QOpenGLWidget, to
something that will work with any QQuick backend.
Task-number: QTBUG-53283
Change-Id: I476a2c22e35a18cefc2824d5342bcff874c44d28
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 QWebEngineView is disabled, input events are still forwarded to
Chromium, thus allowing the user to interact with a web page.
Fix consists in stopping the forwarding of input events in the generic
event handler, just like QWidget::event() does.
Change-Id: Ie822d1f3d640840569a282223d76749686cf3419
Reviewed-by: Michal Klocek <michal.klocek@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>
|
|\|
| |
| |
| | |
Change-Id: If884b8b8bc087a6a726476b49cdb48a0efaa173e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 32929885 led to rendering blank pages in QWebEngineView.
Set the OpenGL version only if the core profile is requested.
Change-Id: Ie05c7804afbce26aee63455e27c23219484f535d
Task-number: QTBUG-51032
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
|