summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Clean up cancel fling gesture and latency info for gesturesAndras Becsi2014-04-251-14/+5
| | | | | | | This is similar to how the aura code changed with the new snapshot. Change-Id: I57ef8a8a42c6b880988068c0de26df59fcf436fa Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix broken experimental.viewport.devicePixelRatioArvid Nilsson2014-04-091-0/+8
| | | | | | | | | | | | | | The experimental.viewport.devicePixelRatio should be applied in addition to any native devicePixelRatio inherent in the window system or GUI framework. This patch updates RenderWidgetHostViewQt::OnSwapCompositorFrame to match the implementation of RenderWidgetHostViewQt::GetScreenInfo and take the dpiScale (experimental.viewport.devicePixelRatio) into account. Change-Id: Ieadd9fbc73d937d5b5a318091c1157b281bd23c9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Get rid of the BackingStore rendering pathJocelyn Turcotte2014-04-081-25/+2
| | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | 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>
* Revert part of the RenderWidgetHostViewQtDelegate refactoringJocelyn Turcotte2014-04-081-2/+4
| | | | | | | | | | | This reverts parts of commit 9c198939be1ef064d1a2430a4b9991f2fe16f359. This does keeps the popup fixes and removes support for QWebEnginePage::setViewportSize and QWebEnginePage::render until we can evaluate the needs vs the cost of such feature. Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add the base qualifier where base::string16 is usedArvid Nilsson2014-04-011-2/+2
| | | | | | | | | Be explicit about this since the "using base::string16" statement will be going away eventually. Change-Id: I292928345eec746bea04e15a3f25e46193704463 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update clipboard selection when selection changesAllan Sandfeld Jensen2014-03-311-0/+9
| | | | | | | | Update the selection when selection changes similar to what is done by Gtk and Aura RenderWidgetHostView's. Change-Id: I92ddd2925c6401693b001baf9ff9f5858c9c504b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Get rid of GTK dependenciesAndras Becsi2014-03-281-14/+0
| | | | | | | | | | Build with aura by default and remove GTK related code. This patch introduces a mechanism for setting gyp build configuration variables using a GYP_CONFIG and adds a desktop_linux.pri configuration for this target. Change-Id: I6b044ba52ebb20c187572669af94a6fc280b0412 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Adapt to API changes in new stable branch 1750Andras Becsi2014-03-281-80/+123
| | | | | | Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix the HighDPI rendering of QQuickWebEngineViewJocelyn Turcotte2014-03-201-0/+1
| | | | | | | | | | | | | Use the ratio given with the compositor frame instead of taking it directly from the QWindow to make sure that we scale according to the rasterizing of the tiles. Set the scale directly on the DelegatedFrameNode by making it a QSGTransformNode to avoid creating an extra QSGNode. Change-Id: I95bd33c7c6d26e0d456d6df188779dc4e82f9d3b Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Tooltip support.Pierre Rossi2014-03-141-2/+2
| | | | | | | | | | Basic tooltip support for widgets relying on the existing QToolTip mechanism. Left unimplemented on the Qt Quick side for now since ToolTip support is still very much a work in progress there. Change-Id: Ia4bfd715a224e0cbc147c8860e131d1545cebe1e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement QInputMethodEvent::Attribute translation and compositionAndras Becsi2014-02-211-8/+55
| | | | | | | | | | | Translate QInputMethodEvent::Attribute list to WebCompositionUnderline when processing input method events, and implement ImeCancelComposition to fix input method handling with the Qt Virtual Keyboard technology preview. Change-Id: Id06db3d04066841093ed90cabd659def3cb3b73c Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Cancel ongoing "fling" animations on tap-downAndras Becsi2014-02-191-4/+20
| | | | | | | | Synthesize WebGestureEvent::GestureFlingCancel on if we receive a WebGestureEvent::GestureTapDown to stop the ongoing scroll animation. Change-Id: I5b500ebbde815a54a466736492c2b5781f5ef91e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Make Qt 5.2 a minimum requirementPierre Rossi2014-02-141-4/+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>
* Implement QWebEnginePage::selectedTextJocelyn Turcotte2014-02-131-0/+6
| | | | | Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [Widgets] RenderWidgetHostViewQtDelegate refactoringPierre Rossi2014-02-121-3/+4
| | | | | | | | | | | | | | | Break up the delegate implementation into two distinct subclasses. The first one offers a way for the WebPage to tap into the RenderWidgetHostView directly, while a different implementation that is backed by a top-level widget can be used to show WebUI popups on screen. This has the benefit of not having a child widget in the webview among other things. It also fixes our popups and allows them to fall outside the window frame. Change-Id: I80dc1e4f21bb91ff47c75a626d330f88eacce8c6 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement basic support for input method events.Zeno Albisser2014-02-081-0/+20
| | | | | | | | This is needed to get text input working again on Mac. Underlines are currently being ignored. Change-Id: I2a1074a1151e9be6f96ebe12fd0bb40a0eb63d6a Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Quick: Support reparentingArvid Nilsson2014-01-311-32/+21
| | | | | | | | | | | | | | | | | 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>
* Fix RenderWidgetHostViewQt::GetCompositingSurface() on WindowsZoltan Arvai2014-01-131-0/+4
| | | | | | | | | gfx::GLSurfaceHandle needs reinterpret_cast for the first parameter to match an overload. Change-Id: I4b89c38b9694ab649e1e623049573675c926a4a7 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Adapt to chromium API changes in refs/branch-heads/1650Andras Becsi2013-12-201-5/+5
| | | | | | | This patch also updates src/3rparty to the new snapshot. Change-Id: I56da8d795051a828d7b375e57c4dda8bc570229f Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix a crash when opening a window.Jocelyn Turcotte2013-12-161-1/+1
| | | | | | | | | | RenderWidgetHostViewQt::GetViewBounds gets called early than RenderWidgetHostViewQt::setAdapterClient when a new window is created by Chromium. Change-Id: I5ad61fc54ae773200403b222110a1d0ad541f941 Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Quick: Add experimental.viewport.devicePixelRatioArvid Nilsson2013-12-041-6/+17
| | | | | | | | | | | | | | | | | | | | This specifies a devicePixelRatio to be used by web content instead of the QScreen::devicePixelRatio(). This is necessary on non-iOS mobile devices to remain compatible with the mobile web which assumes devicePixelRatio is computed as the ratio of actual dpi to 160 dpi. Non-iOS mobile platforms may use different criteria to determine the QScreen::devicePixelRatio(), depending on the history of the platform, or simply leave it at 1.0. For QNX, this setting gets a reasonable default value so developers don't have to regularly use this experimental API. These changes were inspired by the Android Chromium port which uses a GetDpiScale() to accomplish the same in content/browser/android/content_view_core_impl.cc. Change-Id: I1bc8878a47dabcdb6986c4fe5c8c4ac230ae2514 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Moving sources to src part 2: Adjust paths.Jocelyn Turcotte2013-11-281-1/+0
| | | | | | | | | | | | | | | | | | | NOTE: To build after this you should rerun init-repository.py or run $> git submodule sync $> git submodule update $> git config qtwebengine.chromiumsrcdir src/3rdparty This makes everything build by adjusting paths. Other mixed-in changes: - Rename qtwebengine_src variables in scripts to qtwebengine_root to avoid confusion. - Cleanup the release and debug extra targets that were in lib.pro. This file has also been split into src.pro and core.pro. Change-Id: Ieee9158a65f526b15244eaca59e779b7069d337e Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Moving sources to src part 1: Move files.Jocelyn Turcotte2013-11-281-0/+910
This only move files without adjusting any paths. This moves: - lib/quick -> src/webengine/api (API files) lib/quick -> src/webengine (other files) This contains the main QtWebEngine module library since <ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>. - lib/widgets -> src/webenginewidgets Also rename this directory to match its module name and rename Api to api. - lib -> src/core - process -> src/process - resources -> src/core/resources - tools/* -> tools/scripts/ The build directory is spread as follow: - build/build.pro -> src/core/gyp_run.pro - build/qmake_extras/* -> src/core/ (for the host and target .pro files) - build/qmake -> tools/qmake - Build related scripts -> tools/buildscripts Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>