summaryrefslogtreecommitdiffstats
path: root/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement proper touch handling on macOSAlexandru Croitor2017-04-211-0/+3
| | | | | | | | | | | | | | | 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>
* Ignore synthetic hover move events if the mouse has not actually movedMichael Brüning2017-02-221-1/+2
| | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-061-0/+14
|\ | | | | | | | | | | | | | | Conflicts: src/3rdparty src/webengine/api/qquickwebenginesettings.cpp Change-Id: Ie4abadb076c51d070cbb05f29b9ebcd9705933ad
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-041-0/+14
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: I49d99b5ac2cfba243eda1ea705c2a7d71b5542f6
| | * Propagate the view's screen coordinates on global position change in QuickPeter Varga2016-09-271-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-211-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/delegated_frame_node.h src/webengine/api/qquickwebenginecontextmenudata.cpp Change-Id: I163488d0d32cd981351608b2886f12e547e24672
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Michal Klocek2016-08-311-3/+3
| |\| | | | | | | | | | Change-Id: Ic739ab9db0851cc13467168840ea2549996432f8
| | * Clicking on a select box option, did not workAdam Kallai2016-08-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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-161-1/+1
|\| | | | | | | | | | | Change-Id: Id5f97771be23a4393e8d3be98903c321377ae809
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-161-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/webengine/api/qquickwebenginecertificateerror.cpp src/webengine/doc/src/webengineview.qdoc tools/qmake/config.tests/libcap/libcap.cpp Change-Id: I2a2cfc904a8d6b561fb71ef7a0cc4bfb860124db
| | * Fix issue where Chromium thought it had active focusAlexandru Croitor2016-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-051-0/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-06-271-0/+12
| |\| | | | | | | | | | Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
| | * Override short-cuts to common editor commandsAllan Sandfeld Jensen2016-06-221-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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-2/+27
|\| | | | | | | Change-Id: I561c00b3a844ab493a5bf0148a5923662842cf5d
| * Fix event forwarding when activeFocusOnPress is false.Alexandru Croitor2016-05-261-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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 devLiang Qi2016-02-101-0/+15
|\| | | | | | | | | | | | | | | 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/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
|/ | | | | | | | | 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>
* Quick: Close WebUI popups properlySzabolcs David2015-12-071-0/+11
| | | | | | | | | | | | | | 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>
* QQuickWebEngineView: add activeFocusOnPress propertyPierre Rossi2015-06-031-5/+10
| | | | | | | | | | 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>
* Honor the AcceptsInputMethod flag on the WebViewPierre Rossi2015-05-151-3/+5
| | | | | | | This can come in handy to make an HTML based input method keyboard Change-Id: Ieaf49a676262f40b0f250dc67e2f1cd0eeb08d82 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* WebEngineView does not load a url while invisibleAndras Becsi2015-04-221-0/+2
| | | | | | | | | | 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>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+4
| | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Add Pointer Lock supportSzabolcs David2015-01-161-0/+10
| | | | | | | | | | While the mouse is locked, the cursor is hidden from the user and mouse events are still generated. The movement which is reported by the event indicates what would be the position change if the mouse would not have been locked. Change-Id: I79b3df5d7d644cd675a27e6c5a0da54e00b69da3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-021-0/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/content_browser_client_qt.h src/core/core_module.pro Change-Id: Ia05a6564a4d17ca14ff9b76ae018c3f4ef33d535
| * Force active focus for touch beginAndras Becsi2014-12-081-0/+2
| | | | | | | | | | | | | | This fixes the focusing issues on touch devices. Change-Id: I26c0080ea70aeabbd608e15fbd3705b907bdb68e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Support TransferableResource::is_softwareJocelyn Turcotte2014-11-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the GPU process fails to initialize, or when the --disable-gpu switch is provided, the delegating renderer will transfer resource mailboxes through shared memory pixel data instead of through shared texture IDs in the GPU process. Handle this by uploading the pixel data ourselves with createTextureFromImage, also allowing us to render tiles in the QtQuick 2D Renderer. Change-Id: I70ad7122cd0e52dd5ab435ae01e7f032b8e1194e Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Avoid relying on QOpenGL classes to handle RenderPassesJocelyn Turcotte2014-11-251-0/+13
|/ | | | | | | | | | | | | | | | | | | Use QSGLayer and get rid of RenderPassTexture so that we can render intermediate layers with the QtQuick 2D Renderer. This reintroduces the private dependency on QtQuick since the QSGLayer factory methods aren't available publically, and also that we need to use QSGImageNode instead of QSGSimpleTextureNode to use them. Since we can't subclass QSGLayer to hold a reference to SG objects directly in the nodes that use them, store them all in the wrapping DelegatedFrameNode in a SGObjects structs. This works assuming that the DelegatedFrameNode will always be at the root of our nodes, layers and textures; if the scene graph destroys the DelegatedFrameNode all child nodes will be destroyed with it. Change-Id: Iedeceb8f98eb54fd8228a677c366d6df9a270e11 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Update License Headers for Qt WebEngine to LGPLv3.Zeno Albisser2014-08-211-15/+10
| | | | | | | Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Propagate the page's screen coordinates when the top-level window movedJocelyn Turcotte2014-08-201-2/+17
| | | | | | | | | | | | | | | | This fixes a regression after the 37 upgrade where the select popups would have the wrong position. Adjust to the new behavior and also avoid doing a mapToGlobal of the position received in InitAsPopup. RWHV::SetBounds has been giving us screen coordinates since the Chromium 33 update, but popup locations somehow managed to work properly through some side-effect sorcery. This also fixes the value of window.screen[XY] in JavaScript which wasn't updated when the window was moved. Change-Id: I544499bafedccfb7d389b4abc48f1386c398473f Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Use QSGEngine instead of the private QSGRenderContextJocelyn Turcotte2014-08-061-2/+1
| | | | | | | | | QSGEngine was added in Qt 5.4 to allow using the scene graph without QQuickWindow. Use it for our FBO as well as for the QOpenGLWidget rendering. Change-Id: If4665d4f33c9dad69d2d4269309163bb5ffbd8e3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't inherit from Qt private typesJocelyn Turcotte2014-08-041-0/+1
| | | | | | | | | | | | | Do the d_ptr magic ourselves to avoid having to include private headers from qtcore, qtgui and qtdeclarative. It is hackish to hide QObject's d_ptr member to have the macros working in a public class, but if anything goes wrong we just need to replace the private macro convenience while maintaining the binary compatibility of the stored extra opaque pointer. Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix tab focus in the widgets and QML webviewsJocelyn Turcotte2014-08-011-1/+0
| | | | | | | | | | | | | | | | | | | | Fixes: - Make sure that we call SetInitialFocus when giving focus through Tab This does the same as would WebContents::FocusThroughTabTraversal - Implement QWebEnginePagePrivate::passOnFocus - Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView - Make sure that the widgets delegate accepts the tab focus policy Cleaups: - RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope, it doesn't have any children - We don't need to reimplement QQuickWebEngineView::forceActiveFocus since the view is now a focus scope - Do not explicitly setFocus(true) on the QQuickWebEngineView, the application should decide this through the API Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* RWHVQDQ::contentsRect can be called by chromium before the view has a window.Zeno Albisser2014-07-211-1/+3
| | | | | | | Change-Id: I50e3a2ba95b3c0b49af2139f763f11154defe503 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix contentsRect calculation.Zeno Albisser2014-07-211-1/+1
| | | | | | | | | QRectF takes either two points (top left / bottom right), or separate coordinates (x/y) together with dimensions for width and height. Change-Id: Iac20e2abaa4a273ddf7605ffa306220717ae283a Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix RenderWidgetHostViewQt::GetViewBoundsFrederik Gladhorn2014-07-141-0/+7
| | | | | | | | | | GetViewBounds should return the bounds of the view, not the screen rect. The view bounds are for example used to calculate the screen position of accessible objects (which gets fixed with this patch). Change-Id: I5b342113af737847c1756a13183cd2b8b8db648a Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix double clicks needing three presses in QWebEngineViewJocelyn Turcotte2014-05-081-5/+0
| | | | | | | | | | | | | | Since Qt 5.3 QWidget has the same behavior as Qt 4 where it will replace a second MouseButtonPress event with a MouseButtonDblClick instead of sending both. Fix the issue by moving the MouseButtonDblClick ignore code up to the QtQuick code, assume that upper layers will not send MouseButtonDblClick events, and re-replace the MouseButtonDblClick event with a MouseButtonPress in the QtWidgets code. Change-Id: I529dad2de538f486b00eb900ea6d2ed849a3b1f0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove the RenderWidgetHostViewQtDelegateQuickBase templateJocelyn Turcotte2014-04-081-1/+167
| | | | | | | We now only have a QQuickItem subclass and this isn't needed anymore. Change-Id: I3a10943e54f52d1554dc76ccc1841aaacd5171e2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Get rid of the BackingStore rendering pathJocelyn Turcotte2014-04-081-30/+1
| | | | | | | | | Now that the widgets view is also using the delegated renderer, there are no supported configuration that use the BackingStore rendering path, itself on the way of deprecation in Chromium. Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Render the widgets view using the scene graph into a QOpenGLWidgetJocelyn Turcotte2014-04-081-1/+1
| | | | | | | | | | | | | | | This means that widgets application now need to setup the GL context sharing as well. QWebEngineWidgets::initialize() must be called, which has the same effect as QWebEngine::initialize(). The QtWebEngineWidgets now depends on the QtWebEngine module to make this happen. Since QOpenGLWidget is only available in Qt 5.3, this patch also disables the webenginewidgets module completely when building using Qt 5.2. Change-Id: I0e99a779d1eb080f2ccf5a338ff0763ad64e6eba Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Make WebUI popups work with QtQuickPierre Rossi2014-04-021-5/+5
| | | | | | | | | | | | | This is used by popups for select elements and date pickers among other things. We can keep using the same RenderWidgetHostViewQtDelegate implementations for that purpose, and query QPA to decide if they should be wrapped into their own QQuickWindow. Longer term, we might want to optionally delegate that functionality to QML. Change-Id: I88540ca32a9a707d380dfbf486b7f7806b5b65ff Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Make Qt 5.2 a minimum requirementPierre Rossi2014-02-141-2/+0
| | | | | | | | Cleanup version ifdefs and v8-private dependencies. Change-Id: Iac393c06dfba02499e60d713d9f4d04ef0c9e617 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Quick: Support reparentingArvid Nilsson2014-01-311-12/+6
| | | | | | | | | | | | | | | | | To support reparenting, we make the compositing surface independent of the window by using gfx::TEXTURE_TRANSPORT. We also need to be able to keep frame data across window changes so we can reconstruct the QSGNode tree in a new context, so extract that data into DelegatedFrameNodeData class. Any context-specific data is still stored in DelegatedFrameNode. Also hook up window changes to WebContents::WasShown/Hidden for Quick. Remove checking of Qt isVisible state, this mechanism is used to sync Chromium with Qt, not the other way around. WasShown/Hidden is orthogonal to Show/Hide, and can use different triggers. However for Widgets it probably makes sense to hook both up to widget visibility. Change-Id: I1ef4b50cd61b8e54b791e03f0b41929c42fec8bf Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>