summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.h
Commit message (Collapse)AuthorAgeFilesLines
* Adaptations for Chromium 94Allan Sandfeld Jensen2021-12-021-2/+8
| | | | | Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 92Allan Sandfeld Jensen2021-12-021-4/+4
| | | | | Change-Id: I1849c130ca75615802744275f6e4212a755c39b4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 91Allan Sandfeld Jensen2021-12-021-2/+2
| | | | | Change-Id: Ie0236697615fd67e4f53df3dca013ce39628cc29 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Get rid of Quick's TestSupport APIPeter Varga2021-07-201-3/+0
| | | | | | | | | | | - Moved TestInputContext and TestInputEvent APIs to tst_qmltests. - Removed loadVisuallyCommitted and use Item.grabToImage to check if page is rendered. - Removed windowCloseRejected signal and use a hidden callback instead. Pick-to: 6.2 Change-Id: Ica6e4c6017426e0171d738a6a59afa557c786698 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-3/+14
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-05-191-0/+1
|\ | | | | | | | | | | | | Conflicts: src/core/render_widget_host_view_qt.cpp Change-Id: I86113b13bb2d8419e9e9a485197f02b2c7399cd4
| * Add support for Keyboard.getLayoutMap()Peter Varga2021-05-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | Pulls in the following changes: Submodule src/3rdparty 6c7b4ffb..1d3b13e9 > 1d3b13e9634 Make clang to inline load/store atomic calls for YieldSortKey struct > f6730fe81a0 Enable XkbKeyboardLayoutEngine::SetCurrentLayoutByName for Qt Fixes: QTBUG-92971 Change-Id: I0c0cddfe4d3e25fd6d3f7e0764b302c300303172 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 88Allan Sandfeld Jensen2021-04-151-0/+2
| | | | | | | | | | Change-Id: Ie66e95dbb9fbcafe961bb98d5c277f8c32d66b96 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-03-161-1/+17
|\| | | | | | | Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
| * Support zoom-in, zoom-out and cell web cursors on macOSPeter Varga2021-03-081-0/+2
| | | | | | | | | | | | Fixes: QTBUG-53593 Change-Id: Ic330875c3ca3ebe460a166ac815dbf2e052143c2 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Show PDF viewer in a guest viewSzabolcs David2021-03-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the basic support of guest views, implemented based on Chrome. - Embed PDF as a child frame instead of navigating to its extension WebUI. Keep the original URL (pointing to the file) to extend functionality of PDF viewer with URL parameters. - Make RenderWidgetHostInputEventRouter to work and modify most of the event forwarding logic to use that. This way WebEngine supports pages with multiple RenderWidgetHost and guest views can be interactive with user input. [ChangeLog] PDF files are opened as embedded objects, WebEngine will not navigate the content away from the requested file to present it. PDF viewer can accept URL parameters (e.g. to control zooming or fitting to view). Also, PDF viewer is interactive when displayed in a subframe. Task-number: QTBUG-80463 Task-number: QTBUG-86152 Task-number: QTBUG-90712 Change-Id: Ib1591fbd9a594891cdeace8e9dae0d3cc21a9f8e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Do not hide virtual keyboard if the focused node is editablePeter Varga2021-03-051-1/+3
| | | | | | | | | | | | Fixes: QTBUG-91257 Change-Id: Ic303278e2b8871e6bcb3f4f5c5810c8f43371bb8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-01-251-16/+20
|\| | | | | | | | | | | Including update to 87-based Change-Id: I36b6054e00de97ab055d0bc800cff08d0408fac6
| * Adaptations for Chromium 87Allan Sandfeld Jensen2021-01-131-4/+10
| | | | | | | | | | Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 86Allan Sandfeld Jensen2021-01-131-2/+2
| | | | | | | | | | Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 85Allan Sandfeld Jensen2021-01-131-5/+1
| | | | | | | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 84Allan Sandfeld Jensen2021-01-131-3/+6
| | | | | | | | | | Change-Id: I359805d0bea84147fca6de2e2c7b17b4dcb17bc7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Touch handling: fix mapped ids cleanup for TouchCancel eventKirill Burtsev2020-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | TouchCancel may come with empty points list, so previous one (from TouchBegin) is used. Therefore it should be cleaned independently on leaving the scope. Thus unify common code cleanup in the end of handleTouchEvent and ensure TouchCancel's ids remove from mapping. Change-Id: I1ef2baa5f920fa9096ddac2ddd5d4ac70ab6e218 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Touch handling: provide id mapping without modifying TouchPoint instanceKirill Burtsev2020-11-281-2/+3
| | | | | | | | | | | | | | | | | | This api was made private in dev 4e400369c0 and currently has side effects, which lead to touch malfunction and test failures. Task-number: QTBUG-88001 Change-Id: Ie84e770a229f58704363448df116aedbc3e8eb82 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2020-09-141-5/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/certificate_error_controller.cpp src/core/certificate_error_controller.h src/core/compositor/compositor.cpp src/core/compositor/compositor.h src/core/compositor/display_gl_output_surface.cpp src/core/content_browser_client_qt.cpp src/core/core_chromium.pri src/core/delegated_frame_host_client_qt.cpp src/core/ozone/gl_share_context_qt.h src/core/ozone/surface_factory_qt.cpp src/core/permission_manager_qt.cpp src/core/render_widget_host_view_qt.cpp src/core/render_widget_host_view_qt.h src/core/web_engine_context.cpp src/core/web_engine_settings.cpp src/core/web_event_factory.cpp tests/auto/widgets/qwebenginedownloadrequest/tst_qwebenginedownloadrequest.cpp Change-Id: Ice14c3c350b139e800c7c7011b7cef1fc7010669
| * Adaptations for Chromium 83Allan Sandfeld Jensen2020-09-091-1/+2
| | | | | | | | | | Change-Id: I63ed851426b18623d549ceaf87f1b6eeec527966 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Chromium 81-based adaptationsAllan Sandfeld Jensen2020-09-091-4/+0
| | | | | | | | | | Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Delete old compositor and remove --disable-viz-display-compositorJüri Valdmann2020-09-091-6/+0
| | | | | | | | | | | | | | Change-Id: I1b056a61e2b56b19441f559e97f785c87df61a0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b00af13974b2c72ae4d397fbdf5925181e7cc1bf) Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Fix scrollbar when releasing mouse button outside of window on WindowsPeter Varga2020-05-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When releasing mouse button outside of window on Windows, an extra QEvent::Leave is sent before the QEvent::MouseButtonRelease. This extra Leave event resets the pointer to the last interacted scrollbar (last_scrollbar_under_mouse_) in Chromium. Leave events should not be sent until the last mouse button is released. Fixes: QTBUG-70437 Pick-to: 5.15 Change-Id: Ibf28b3ca0fd82feb5abf91ec851d92db0a8657f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 6eadb2f2588b240b5fcda38e1f68a49a4690eb6b)
* | Cleanup namespace issues in coreMichal Klocek2020-08-141-3/+1
| | | | | | | | | | Change-Id: Ifdffc556278fa5d133da1896600a71248662e9fa Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Move scenegraph handling out of coreJüri Valdmann2020-07-061-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace Display{Producer,Consumer,FrameSink} with the new classes Compositor and Compositor::Observer. The Compositor subclasses are implemented by the OutputSurfaces, replacing DisplayProducer in this role. Unlike DisplayProducer, the new classes do not use QtQuick scenegraph types, but rather give access to the software QImage or OpenGL texture directly. The connection to the "other half" is simplified by replacing DisplayConsumer with Compositor::Observer, which is no longer implemented by RenderWidgetHostViewQt, but directly by its delegates in the quick and widgets libraries. RenderWidgetHostViewQt now only provides the delegate with a Compositor::Id which is used to connect the corresponding Compositor and Observer. The delegates are responsible for generating QtQuick scenegraph nodes from the information provided by the Compositor subclasses. Behavior with software and old OpenGL scenegraph backends is unchanged: both continue to work. As for the RHI scenegraph backend, the code here is correct but nonetheless not working: changes are needed in qtbase to make RHI use the global share context for its OpenGL context. Fixes: QTBUG-78682 Change-Id: I837da8860a18ec366ed33f6ecc44c147245e1101 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Refactor RenderWidgetHostViewQtPeter Varga2020-06-171-116/+48
| | | | | | | | | | | | | | | | Make RenderWidgetHostViewQtDelegateClient class instantiable and remove its implementation from RenderWidgetHostViewQt. Change-Id: Idcad3a805defe8b910f418b91f14808b6dbf083b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Delete old compositor and remove --disable-viz-display-compositorJüri Valdmann2020-06-081-6/+0
| | | | | | | | | | Change-Id: I1b056a61e2b56b19441f559e97f785c87df61a0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix scrollbar when releasing mouse button outside of window on WindowsPeter Varga2020-05-201-0/+2
|/ | | | | | | | | | | | | When releasing mouse button outside of window on Windows, an extra QEvent::Leave is sent before the QEvent::MouseButtonRelease. This extra Leave event resets the pointer to the last interacted scrollbar (last_scrollbar_under_mouse_) in Chromium. Leave events should not be sent until the last mouse button is released. Fixes: QTBUG-70437 Pick-to: 5.15 Change-Id: Ibf28b3ca0fd82feb5abf91ec851d92db0a8657f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Revive Pointer Lock featureSzabolcs David2020-05-041-0/+2
| | | | | | | | | | | | | | | This change fixes several issues: - Accepting mouse lock permission from modal dialog was not working on Linux. XCB needs some time to activate the parent window after accepting the dialog and we expected to have immediate active focus. - Implementation of RenderWidgetHostViewBase::IsMouseLocked() was missing. - Fixed event.movementX/movementY by disabling ConsolidatedMovementXY feature. Calculate movement properties in WebEngine instead of blink. Task-number: QTBUG-83294 Change-Id: Ic03d05c1026a113cf5e8d22544fc508d9f285876 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Forward unhandled scroll eventsAllan Sandfeld Jensen2020-04-221-0/+1
| | | | | | | | Fixes a regression in webengine stealing all wheel events. Fixes: QTBUG-81322 Change-Id: I0176627f3e13d97f55162f70fc7a969f98f4f444 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-2/+2
| | | | | | | | | | Including removal of renderer service. [ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and XSSAuditingEnabled no longer has any effect. Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix touch flinging in viz modeJüri Valdmann2019-12-121-0/+1
| | | | | | | | | | | FlingScheduler, in viz mode, is not able to progress the animation unless it has access to our ui::Compositor in RHWVQt for observing OnAnimationStep. Add a GetCompositor virtual method to RHWV and override in RHWVQt. Fixes: QTBUG-80089 Change-Id: I4f52a83d29f5ae4c7c9e8cc4908384d1c7e81a82 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix renderProcessTerminated signalJüri Valdmann2019-11-281-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the adaptations for Chromium 76, RenderWidgetHostViewQt was changed to become a RenderProcessHostObserver with the renderProcessTerminated signal being emitted from the override of RenderProcessHostObserver::RenderProcessExited. The problem with this can be seen by setting a breakpoint on the RenderProcessGone override in RenderWidgetHostViewQt. We then get the trace: QtWebEngineCore::RenderWidgetHostViewQt::RenderProcessGone content::RenderWidgetHostImpl::RendererExited() content::RenderViewHostImpl::RenderProcessExited content::RenderProcessHostImpl::ProcessDied ProcessDied iterates over all the observers and calls RenderProcessExited. Both the RenderViewHostImpl and our RWHVQt are observers, but the RVHImpl comes first. The RVHImpl then calls RendererExited, which calls our RenderProcessGone, which does a 'delete this'. Now our RenderProcessExited override can never be called because we have already deleted our observer. Fix by moving the RenderProcessGone code to WebContentsDelegateQt and getting the exit code from WebContents::GetCrashedErrorCode. Also add test. Task-number: QTBUG-80085 Change-Id: I434744286df97a37b64722d7c15a1d4ee11c8af6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 76Allan Sandfeld Jensen2019-10-111-1/+7
| | | | | Change-Id: Id6d18a3854b572334dc1d65f1916b8991a740cd2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix RenderWidgetHostViewQt::SetNeedsBeginFramesJüri Valdmann2019-09-131-0/+2
| | | | | | | | 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-3/+22
| | | | | | | | 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-2/+5
| | | | | | | | | | | 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>
* Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-5/+5
| | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 74Allan Sandfeld Jensen2019-07-101-0/+1
| | | | | Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-2/+3
| | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-1/+1
| | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Simplify visual properties handling in RenderWidgetHostViewQtJüri Valdmann2019-02-131-6/+9
| | | | | | | | | 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-1/+0
| | | | | | | It's always 1. Change-Id: I1c3d5bc3080da90379f03b6d0819c5656334751e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Delete RenderWidgetHostViewQt::m_localSurfaceIdJüri Valdmann2019-01-311-1/+0
| | | | | | | | 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-1/+0
| | | | | | | | 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-1/+25
| | | | | | | | 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-1/+0
| | | | | | | 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-1/+1
| | | | | | | 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-7/+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>