summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of autorepeating KeyRelease eventsJüri Valdmann2019-10-301-0/+8
| | | | | | | | | A regression in 5.10 has resulted in the web events generated for autorepeating keys not conforming to the spec. Restore the correct behavior from 5.9. Fixes: QTBUG-77208 Change-Id: Ia2f07fd4a8ee78c4599b36aceb235c245a49d566 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Handle possible frame eviction on showAllan Sandfeld Jensen2019-10-161-1/+8
| | | | | | | | | | Our surface id might have been invalidated, so we need to generate a new one. And DelegatedFrameHost::WasShown needs to be called after RenderWidgetHostImpl::WasShown which cancels the eviction. Change-Id: I5761d47b11754a77e40ebde7fc5ed2e64f372613 Fixes: QTBUG-79021 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-54/+53
| | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 76Allan Sandfeld Jensen2019-10-111-8/+13
| | | | | Change-Id: Id6d18a3854b572334dc1d65f1916b8991a740cd2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-09-241-1/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/glibc/glibc.cpp src/3rdparty src/core/configure.json src/core/profile_io_data_qt.cpp src/webengine/configure.json src/webenginewidgets/api/qwebenginepage.cpp tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I3e1781048c3cb09bfbf7427dfc5dd1fec11a2b97
| * Fix compilation against 5.9Michal Klocek2019-07-311-1/+8
| | | | | | | | | | Change-Id: Icfe50ba5c60a6e2e588af6cdc07500013b6df9a1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix RenderWidgetHostViewQt::SetNeedsBeginFramesJüri Valdmann2019-09-131-2/+13
| | | | | | | | | | | | | | | | Turns out this is needed also in viz mode for fling gestures. Fixes: QTBUG-77861 Change-Id: I6fe9d37e00e6a7fd17280d76273527066cc879a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Use ui::CompositorJüri Valdmann2019-08-221-13/+128
| | | | | | | | | | | | | | | | Needs corresponding 3rdparty change. Fixes: QTBUG-71885 Change-Id: I791bc3da5a7a66e03470e9e05bf25a997101b018 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Use RenderFrameMetadata for scroll position and contents sizeJüri Valdmann2019-08-221-18/+34
| | | | | | | | | | | | | | | | | | | | | | Needed for using viz display compositor since SubmitCompositorFrame will not be called any more. Also move the loadVisuallyCommitted call to the Compositor's callback. Task-number: QTBUG-71885 Change-Id: I062b3466671cc6af35877f2ff6995ea290cdf9de Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devAllan Sandfeld Jensen2019-07-241-1/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/core_chromium.pri tests/auto/quick/qmltests/BLACKLIST tests/auto/quick/qquickwebengineview/BLACKLIST tests/auto/widgets/qwebenginepage/BLACKLIST tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp tests/auto/widgets/qwebengineview/BLACKLIST Change-Id: I11b26f5eebde29c4c62247b90e11e3ae40789fe4
| * Pass an accurate touchpoint ToolType to ChromiumRomain Pokrzywka2019-07-161-1/+4
| | | | | | | | | | | | | | | | | | | | QTouchEvent::TouchPoint's flags() specifies the tool type (pen, finger) for the touchpoint, so we can forward that information to Chromium. This allows proper touch handling in web pages that depend on the touch type property detect finger/pen touches. Change-Id: Ib6069a057249ef2776a6b315bc71c75d14c9b673 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-7/+6
| | | | | | | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 74Allan Sandfeld Jensen2019-07-101-0/+6
| | | | | | | | | | Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Implement page lifecycle APIJüri Valdmann2019-05-241-1/+2
|/ | | | | | | | | | | | | | | | | [ChangeLog][QtWebEngine][WebEngineView] WebEngineView now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible views. [ChangeLog][QtWebEngineWidgets][QWebEnginePage] QWebEnginePage now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible pages. Fixes: QTBUG-74166 Fixes: QTBUG-55079 Change-Id: I7d70c85dc995bd17c9fe91385a8e2750dbc0a627 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Introduce RenderWidgetHostViewQtDelegateQuick::windowGeometry()Allan Sandfeld Jensen2019-05-071-2/+2
| | | | | | | Leave it up to hostview delegate to report window geometry. Change-Id: I19a4b911aa493fbc6f66c6169e7fbbb7bf674217 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Use CompositorFrameMetadata::root_layer_size for contentsSizeMichael Brüning2019-04-111-2/+2
| | | | | | | | | | | This was changed as an adaptation to Chromium 70, but turns out to be causing some regressions. Updates Chromium to include the changes there. Change-Id: I1e507bc2c51975c85afccd4346b02c43f5a44478 Fixes: QTBUG-74847 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-281-2/+4
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/render_widget_host_view_qt.cpp src/core/web_contents_view_qt.h src/core/web_engine_context.cpp Change-Id: I17f3a4814e88a5680dc61a6d734c171ccba00e8c
| * Fix regression in setting background colorsAllan Sandfeld Jensen2019-03-221-0/+2
| | | | | | | | | | | | | | | | | | This logic was incorrectly stripped out in adaptations for Chromium 68, but is still needed. Fixes: QTBUG-74519 Change-Id: Iefe7aba352bd43148898c1abeea34f4afe354d72 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Fixup focus implementationAllan Sandfeld Jensen2019-03-211-2/+2
| | | | | | | | | | | | | | | | | | Follow the other implementation and pass TakeFocus to WebContents Delegate, and hook to our UI from there. Also fixes use of Blur instead of LostFocus, which means we now render unfocused more correctly. Change-Id: I34a1882489bc68b9ff36ed5139af0ee8a3a95b79 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-8/+7
| | | | | | | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-3/+3
| | | | | | | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Simplify visual properties handling in RenderWidgetHostViewQtJüri Valdmann2019-02-131-70/+57
| | | | | | | | | | | | | | | | | | 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>
* | Delete WebContentsAdapterClient::dpiScale()Jüri Valdmann2019-02-011-34/+14
| | | | | | | | | | | | | | It's always 1. Change-Id: I1c3d5bc3080da90379f03b6d0819c5656334751e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Delete RenderWidgetHostViewQt::m_localSurfaceIdJüri Valdmann2019-01-311-4/+2
| | | | | | | | | | | | | | | | Not needed due to m_localSurfaceIdAllocator.GetCurrentLocalSurfaceId(). Change-Id: I004a75a4abb8785fd202266d6a2c96137529dd04 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Delete RenderWidgetHostViewQt::m_latestCaptureSequenceNumberJüri Valdmann2019-01-311-4/+2
| | | | | | | | | | | | | | | | It's only used by layout tests, i.e. never. Change-Id: I50c5fdcefa87c6b5077b706599a667d9160a931d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Implement touch text selection for QQuickWebEngineViewPeter Varga2019-01-311-4/+92
| | | | | | | | | | | | | | | | Touch handle and touch selection menu are not implemented for widget. Task-number: QTBUG-59999 Change-Id: Ia492e58b83d3ad38cdf6877d468724c399f34367 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 71Allan Sandfeld Jensen2019-01-281-4/+4
| | | | | | | | | | | | | | Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-13/+11
| | | | | | | | | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Make AccessiblityActivationObserver separate of RWHVAllan Sandfeld Jensen2019-01-091-34/+0
| | | | | | | | | | | | | | | | It is a global control anyway, and with future Chromium headers, there are conflicts with qaccessibility.h. Change-Id: Ife43340684b8b9498b1f4cd3f6fbe450d88794ec Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-181-13/+20
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/delegated_frame_node.cpp src/core/profile_adapter.cpp src/core/profile_io_data_qt.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp Change-Id: I35ec8480e758bbcb6c5942a5401cb1b6dbdcc428
| * Disable external text handles and edit menuPeter Varga2018-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | Chromium implements its own ones and we don't want to conflict with them. This disables the QtVirtualKeyboard's selection handle what is not functional with QtWebEngine. Task-number: QTBUG-59999 Change-Id: I6a615a04d5eac1ce2d0392d63ba0fc9039583914 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Disable text prediction for inputPeter Varga2018-12-071-2/+2
| | | | | | | | | | | | | | | | | | | | This is a workaround to avoid issues with QtVirtualKeyboard when used with QtWebEngine. Task-number: QTBUG-70158 Task-number: QTBUG-71995 Change-Id: I1e6fcd4dceb131dbe781dd7ab3856cb154ac6a18 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix input method updatePeter Varga2018-11-291-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-11-281-9/+11
|\| | | | | | | Change-Id: Idf2c89bebf5e09855d764808cac487bc4b76faaa
| * Fix IME with negative start positionPeter Varga2018-11-221-8/+3
| | | | | | | | | | Change-Id: I64a39975788cc40c5e0595c1a0c5db9000889bfd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix emulated touch eventsAllan Sandfeld Jensen2018-11-221-1/+8
| | | | | | | | | | | | | | | | | | Touch events now does hit-testing based on surface, so we need to register outselves as a surface to have touch events do anything. Fixes: QTBUG-71801 Change-Id: Iafd43dfcecf029f9c11e0c0c58a349ff38badbaa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-161-2/+26
|\| | | | | | | | | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e
| * Speculative fix for disable-pinch not workingAllan Sandfeld Jensen2018-11-141-0/+8
| | | | | | | | | | | | | | | | | | Introduces logic from render_widget_host_view_android.cc to ignore pinch gestures when pinch is disabled. Fixes: QTBUG-70913 Change-Id: Ib88c423c248148afdb2d203f89ab90c63b32012c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix autoscrollingAllan Sandfeld Jensen2018-11-141-1/+6
| | | | | | | | | | | | | | | | | | We were missing the connection between on begin frame and progressing auto-scroll. Change-Id: I651b35c031afedc9aeef1dc6a16547757b869633 Fixes: QTBUG-71370 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Implement CopyFromSurfaceAllan Sandfeld Jensen2018-11-081-1/+12
| | | | | | | | | | | | | | Means we can get screenshots in devtools. Change-Id: I7b50d6ac5a54d236573bcf5f58ae872bd50dccad Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Move compositor and scene-graph integration to its own dirAllan Sandfeld Jensen2018-11-071-1/+1
| | | | | | | | | | Change-Id: Ib552dc30db5ee886631a108b4ccd866459c432e2 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devAllan Sandfeld Jensen2018-11-051-72/+16
|\| | | | | | | | | | | | | | | | | Conflicts: src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter_client.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: Ibd011c40839c09469218ac4c71a13d0a0b1c9778
| * Fix quicknanobrowser crash on startupJüri Valdmann2018-11-021-4/+5
| | | | | | | | | | | | | | | | Don't call SynchronizeVisualProperties from updatePaintNode Fixes: QTBUG-71430 Change-Id: I6bd231b22c0473f9fd47ca3cdbcb8262f314bd5b Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix background of composition textPeter Varga2018-10-301-4/+3
| | | | | | | | | | | | | | | | | | | | The Chromium API has been changed: https://chromium-review.googlesource.com/c/chromium/src/+/959006/ Task-number: QTBUG-70289 Task-number: QTBUG-71453 Change-Id: Ib20a82bd826d8067aa3eb3bccccda7d8716e20ad Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Stop showing speculative framesJüri Valdmann2018-10-291-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Remove some outdated Qt version checksAllan Sandfeld Jensen2018-10-231-50/+0
| | | | | | | | | | | | | | | | We can't not build with older than Qt 5.9 anyway due to QSG and qmake changes. Change-Id: Iff0247e70d9ffc1e045e2c571f0089d68df9a589 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix four switch related warningsAllan Sandfeld Jensen2018-10-231-3/+6
| | | | | | | | | | Change-Id: If4888c1b170568735953ac715c4a7c40de614dd8 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devJüri Valdmann2018-10-221-16/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/net/network_delegate_qt.cpp Changed to src/3rdparty: 156c2b70 Disable "some invariants violation checks" for Qt 52bf8b45 Support non-base::Thread GPU thread ba4a51bc [Backport] Speculative fix for mac DCHECK failure 508fda09 Add support for static-libraries to our GN integration Change-Id: If0205ce032ce86b5759b321b6d907b0431b6a978
| * Clean up header includes in corev5.12.0-beta3Peter Varga2018-10-201-16/+5
| | | | | | | | | | Change-Id: I3ffc92eacf30265ecb80061870d213e521e4f838 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Update mailboxes before renderingJüri Valdmann2018-10-161-3/+4
|/ | | | | | | | | | | Instead of updating mailboxes during the preprocessing phase of the Qt Quick Scene Graph renderer, do it separately before rendering even starts. Prerequisite for running GPU service on UI thread. Task-number: QTBUG-71126 Change-Id: Iec2acd7233c33e4dc4e33077c14cf6b9170685ed Reviewed-by: Michael Brüning <michael.bruning@qt.io>