summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11' into 5.12Michael Brüning2018-08-211-9/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Close popups when parent window is movedAlexandru Croitor2018-07-271-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fine tune configure and clean up header includesMichal Klocek2018-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Use range-based for instead of Q_FOREACHJüri Valdmann2018-06-061-1/+1
| | | | | | | | | | Change-Id: Ibf016b795ff98fddfa29fb5dc63924a2d2159d71 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | RWHVQDW: Remove QGuiApplication::sync() callJüri Valdmann2018-06-041-9/+7
|/ | | | | | | | 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>
* Fix keyboard focus for speculative RenderFrameHostsJüri Valdmann2018-05-151-0/+1
| | | | | | | | | | | | | | 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>
* Remove old focusProxy widget from layout in RWHVQDW::initAsChildJüri Valdmann2018-05-151-0/+3
| | | | | | Task-number: QTBUG-68224 Change-Id: I317915f0c81531e5858dfa3a76365b16266ce919 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix focus after hideAllan Sandfeld Jensen2018-04-181-2/+3
| | | | | | | | | | 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>
* Remove usage of private call QWidgetPrivate::updateWidgetTransform()Alexandru Croitor2018-02-081-8/+0
| | | | | | | | | | | | | | 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>
* Pass editor shortcuts to Chromium by ForwardKeyboardEventWithCommandsPeter Varga2017-11-031-5/+2
| | | | | | | | | | | | 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>
* Disable IME on password inputPeter Varga2017-10-041-3/+6
| | | | | | Task-number: QTBUG-62433 Change-Id: Icdc3355ca9d1ec4fb25d512c56c19aca94ae8928 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* [macOS] Fix creation of shared OpenGL 3.2 Core contextsAlexandru Croitor2017-09-171-3/+19
| | | | | | | | | | | | | | | | | | 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>
* Merge branch '5.9' into 5.10Allan Sandfeld Jensen2017-09-061-0/+10
|\ | | | | | | Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
| * Close popup windows when their parents are destroyedAlexandru Croitor2017-08-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Stop forwarding HoverEnter and HoverLeave QEventsJüri Valdmann2017-08-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Remove support for building with Qt versions < 5.8.0Allan Sandfeld Jensen2017-08-041-20/+0
|/ | | | | Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Override shortcuts only when an HTML input field has focusJoerg Bornemann2017-06-081-16/+3
| | | | | | | | | | | | | | | | 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>
* Override shortcuts in HTML input fieldsJoerg Bornemann2017-04-251-2/+19
| | | | | | | | | | | | | | | | | | | 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>
* Forward input method events to RWHV in widgetPeter Varga2017-03-271-0/+9
| | | | | | | Task-number: QTBUG-58362 Change-Id: Id4cf57c60da17538b224bb9bc91277c324c6a55d Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove stale parent connection when initializing delegate as a childMichael Brüning2017-03-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Use Qt::ToolTip as window type for dropdown popusFlorian Bruhin2017-02-221-0/+4
| | | | | | | | | | | | | | | 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>
* Fix QWebEngineView::setFocus to properly set internal QQuickItem focusAlexandru Croitor2017-02-201-0/+2
| | | | | | | | | | | | | | | | | | | | | 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>
* Make input method hints available via RWHV delegate widgetPeter Varga2017-01-201-0/+5
| | | | | | | | | 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>
* Fix keyboard focus of RWHVQDW after popupPeter Varga2016-11-291-0/+7
| | | | | | Task-number: QTBUG-56652 Change-Id: I1a6655587a9104dd817332e2eb5f886c057d8f64 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Allan Sandfeld Jensen2016-11-251-1/+20
|\ | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: Ib9c9eca457c1c42dab948e6cb56d44b57d5da32a
| * Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-11-241-1/+20
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/api/qwebengineurlrequestinfo.cpp src/core/api/qwebengineurlrequestinfo.h src/core/core_gyp_generator.pro Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
| | * Fix select tag interaction when the web view is inside a modal dialogAlexandru Croitor2016-11-101-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-111-0/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-041-0/+7
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Fix IME window placement relative to QWebEngineViewAlexandru Croitor2016-10-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Fix handling of drag 'n drop events in QWebEngineViewJoerg Bornemann2016-11-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Fix building when QT_NO_OPENGL is definedAndy Nichols2016-10-021-1/+2
| | | | | | | | | | | | | | | | | | | | | 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>
* | | Restore ability to build with Qt 5.7v5.8.0-alpha1Allan Sandfeld Jensen2016-08-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-051-1/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-08-021-0/+8
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Propagate the view's screen coordinates on global position changeJoerg Bornemann2016-07-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-271-0/+7
| |\| | | | | | | | | | Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
| | * Override short-cuts to common editor commandsAllan Sandfeld Jensen2016-06-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Switch away from deprecated QSG*Node classesAllan Sandfeld Jensen2016-07-141-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | Use the new public QSG classes meant to replace QSGSimpleRectNode and QSGSimpleTextureNode. Change-Id: Icdfc3b4ba13dd28258defa955d050927abbae95b Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Move toolTip handling to WebContentsAdapterClientAdam Kallai2016-07-141-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Switch to using QQuickWidget in WebEngineWidgetsAllan Sandfeld Jensen2016-07-061-68/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Fix build with newer qtdeclarativeAllan Sandfeld Jensen2016-06-271-1/+5
|/ / | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-05-311-0/+28
|\| | | | | | | Change-Id: I561c00b3a844ab493a5bf0148a5923662842cf5d
| * Stop disabled QWebEngineView widget from processing input events.Alexandru Croitor2016-05-261-0/+28
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-04-111-4/+9
|\| | | | | | | Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
| * OSX: Fix QSurfaceFormat check to allow < 3.2 OpenGL profiles.Alexandru Croitor2016-03-311-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-02-201-3/+5
|\| | | | | | | Change-Id: If884b8b8bc087a6a726476b49cdb48a0efaa173e
| * Fix rendering with default OpenGL surface on LinuxJoerg Bornemann2016-02-121-3/+5
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-02-101-0/+21
|\| | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp tests/auto/widgets/widgets.pro Change-Id: Id9444359ed2e35d469331db96a355c9ea2d095d5
| * OS X: Fix crash when setting a custom default QSurfaceFormat.Alexandru Croitor2016-02-041-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>