summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-151-0/+4
|\ | | | | | | | | | | | | | | | | Conflicts: src/3rdparty tests/auto/quick/qmltests/qmltests.pro tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I2a1e3a83e29a1d6709f3e98fda3f7b4ab7ab297e
| * Notify Chromium about leaving viewPeter Varga2017-11-091-0/+4
| | | | | | | | | | | | | | | | Forward QEvent::Leave for Widget and QEvent::HoverLeave for Quick. Task-number: QTBUG-64265 Change-Id: Ide32768902956476d24b1d4115e305392b62feb3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fill pointerType member of pointer eventsSzabolcs David2017-11-081-1/+1
| | | | | | | | | | | | | | | | | | Fix pointerType of the currently supported (mouse and touch) events. Support of pen and eraser types is coming with QTBUG-62975. Task-number: QTBUG-63266 Change-Id: Ief32b9680ab5acfb15537aba74c2bcdd6f51c978 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Pass editor shortcuts to Chromium by ForwardKeyboardEventWithCommandsPeter Varga2017-11-031-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Coalesce wheel events when possibleAllan Sandfeld Jensen2017-10-271-1/+23
| | | | | | | | | | | | | | | | | | | | Combine wheel events if we are getting more than Chromium can handle. This improves latency and perceived performance when scrolling with touchpads or fine-grained mouse, on a slow machine or with a debug build. Change-Id: Id847c8e7782e155c28067b6051ce92896b68ca7a Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Adaptations to 61-basedAllan Sandfeld Jensen2017-10-251-30/+24
| | | | | | | | | | Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Stabilize navigation after render process terminationv5.10.0-beta1Peter Varga2017-10-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When renderProcessTerminated signal is emitted the invalid view of the corresponding RenderWidgetHost is not destructed yet. Having this invalid view during navigation leads to a crash. The proper way to navigate on renderProcessTerminated is to schedule the navigation with QTimer::singleShot(). Otherwise, warn the user and ignore navigation to avoid crash. Task-number: QTBUG-58478 Change-Id: I54ff62f5d306c8cb1fa17e29f349d1e02c4c8cec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Disable IME on password inputPeter Varga2017-10-041-3/+17
| | | | | | | | | | | | Task-number: QTBUG-62433 Change-Id: Icdc3355ca9d1ec4fb25d512c56c19aca94ae8928 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-291-0/+13
|\| | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| * Commit the done-so-far IME composition on touch eventPeter Varga2017-09-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | Fix is based on afc9e2d9674f7ab5800df4803cc68c71d1ae691a Moreover, new quick auto test has been added to check that the commit happens in case mouse and touch input events. Task-number: QTBUG-62942 Change-Id: Ie9d55e0bb5b3bbc34c099502e735b94f37c5d5f8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-13/+26
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-69/+91
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge branch '5.9' into 5.10Allan Sandfeld Jensen2017-09-061-3/+15
|\| | | | | | | Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
| * Compile with Gestures disabledAlan Alpert2017-09-051-0/+4
| | | | | | | | | | | | Change-Id: Ibad2b8ebb90e79ff8337d994b2234eed5e230daa Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * [macOS] Warn about sending simulated touch events not working on macOSAlexandru Croitor2017-08-291-1/+11
| | | | | | | | | | | | | | | | | | | | Chromium itself does not really support processing touch events on macOS, but rather uses native gestures sent by the OS. Warn the user in case they send simulated QTouchEvents. Task-number: QTBUG-62130 Change-Id: If47f25bc06f3d6f99ba70164a585182354ed9b5a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Stop forwarding HoverEnter and HoverLeave QEventsJüri Valdmann2017-08-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-08-141-2/+3
|\| | | | | | | | | | | Includes sha1 bump of src/3rdparty to head of 58-based. Change-Id: I37743c3979c1b6fb21f71eab7048e82f7aa5d78b
| * Fix propagation of unhandled key press eventsJoerg Bornemann2017-07-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unhandled key presses for printable keys were not received by the parent widget anymore. This was a regression from 5.8.0. The propagation is suppressed if NativeWebKeyboardEvent::skip_in_browser is true. Commit 4501b9d8 accidentally removed the wrong skip_in_browser assignment. Task-number: QTBUG-61621 Change-Id: I7eafa1fac5fb9a7edc4af2bc1aac21c106264713 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Fix emitting selectionChanged signal for non-user text selection changePeter Varga2017-07-201-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the case when the text selection is triggered by JavaScript. Text selection changes triggered by IME composition text replecement are ignored. Test has been added for mouse selection clipboard: non-user text selection should not update the clipboard. Pulls in Chromium changes: 3deea95 Update TextSelection for non-user initiated events Task-number: QTBUG-53134 Task-number: QTBUG-60381 Change-Id: Ib94f57a2aa61248fba75f595245fb388b9609b6c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-07-051-5/+11
|\| | | | | | | Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
| * Fix location of IME window on WindowsKai Koehne2017-06-271-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | SelectionRegion::caret_rect is only documented to be supported on macOS, so use anchor, focus instead. Also make sure that the rect always has a width > 0; Both the Windows QPA and the native API require this. Task-number: QTBUG-60334 Change-Id: I8436fbfaa204d243578b33cbcaa3f28871b462ee Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Fix cancelling IME compositionPeter Varga2017-06-221-1/+0
| | | | | | | | | | | | Task-number: QTBUG-61429 Change-Id: I936f1c924ae8158a5243fdf20d12e6c5508b684a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Simple adaptations for Chromium 58Allan Sandfeld Jensen2017-06-141-33/+5
| | | | | | | | | | Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 57Allan Sandfeld Jensen2017-06-141-11/+9
|/ | | | | Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix selectionChanged signal out of input fieldPeter Varga2017-05-171-6/+27
| | | | | | Task-number: QTBUG-60688 Change-Id: I6d0b78e6b8df54c40ae30d5f0909c631c440a9cd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Disable accessibility support on Linux by defaultAlexandru Croitor2017-05-081-3/+18
| | | | | | | | | | | | | | | | | | | | | For very big HTML pages, accessibility support can slow down the loading and rendering of pages due to creation of many AXNodes for every DOM node, and a lot of serializing and deserializing between processes. Because accessibility is almost always enabled on Linux, and there is no way to query if an accessibility feature was explicitly requested, Qt WebEngine accessibility support on Linux will be disabled by default. Users can set the QTWEBENGINE_ENABLE_LINUX_ACCESSIBILITY environment variable to re-enable accessibility support on Linux. [ChangeLog][Accessibility][Linux] Accessibility is disabled by default for Qt WebEngine on Linux. Task-number: QTBUG-59922 Task-number: QTBUG-54650 Change-Id: Ib0454f6f753043838e4ecf2227d2249afc15a6ef Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Standardize override declarationAllan Sandfeld Jensen2017-04-211-24/+24
| | | | | | | | Update our overrides to Qt coding standard getting rid of Q_DECL_OVERRIDE and redundant virtual declarations. Change-Id: Id8b0750eb05c51fc8f50cac4000a811eebcbf918 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Disable setting background color in QInputMethodEventPeter Varga2017-04-211-5/+1
| | | | | | | | | | | | | IME managers may set background and foreground color of the composition string. Since there is no Chromium API for setting the foreground color, changing the background color to black may produce "black-on-black" text. Chromium locks the background color to transparent thus we do the same in this fix. Task-number: QTBUG-58362 Task-number: QTBUG-60031 Change-Id: I939c8aaaa847de191890d6924ba3c7652465f8a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Implement proper touch handling on macOSAlexandru Croitor2017-04-211-0/+19
| | | | | | | | | | | | | | | 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>
* Handle QInputMethodQueryEvent forwarded by RWHVQDWPeter Varga2017-04-121-0/+16
| | | | | | Task-number: QTBUG-58362 Change-Id: I6c80c8063ccad97aa80aff8ee44aa10a899c5ff5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix text selection and input method queryPeter Varga2017-04-121-49/+188
| | | | | | | | | | | | | | | Instruct the render process to change the text selection if it was requested via an input method event. Raise the selectionChanged() signal when all the corresponding input method properties are set. Moreover, add back the remaining input method widget auto tests. The updated tests are moved to the QWebEngineView tests since the corresponding APIs (inputMethodQuery() and input event handling) are now available via the QWebEngineView's focus proxy (aka RWHV). Task-number: QTBUG-55766 Change-Id: Ia0022d5f38b31dd59b084ff42e4abc2780ae90ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix movementX and movementY properties of mouse eventsSzabolcs David2017-03-241-6/+8
| | | | | | | | | | Calculate movementX/movementY at every turn, not only when the mouse is in locked state. Task-number: QTBUG-59127 Change-Id: I362e055e6b5d6f831671604a093434373cedf19a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Allan Sandfeld Jensen2017-03-041-0/+1
|\
| * Merge remote-tracking branch 'origin/5.8' into 5.9Allan Sandfeld Jensen2017-03-021-0/+1
| |\ | | | | | | | | | Change-Id: Iff6ab3c287c58d8ec84a1513460bfce5218e8a61
| | * Initialize RenderWidgetHostViewQt::m_currentInputTypeJoerg Bornemann2017-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | inputMethodQuery can be called before TextInputStateChanged has initialized m_currentInputType. Change-Id: Icba5a622df0332b740477cd2d966f0dea5d86138 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Fix browser process crash when IBus is enabledPeter Varga2017-03-031-0/+8
|/ / | | | | | | | | Change-Id: Ic48b34473c808bcfdc80acdccab4883a8e9d5715 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add beginFrameProviderAllan Sandfeld Jensen2017-03-011-5/+47
| | | | | | | | | | | | | | | | We now need to tick/sync frames ourselves. This provides a quick way to do that without touching too much code. Change-Id: I3820d7ef8dbc8e3a224a48ee28c489bb830bb1da Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adapt to changes in selection API in Chromium 55Allan Sandfeld Jensen2017-03-011-31/+14
| | | | | | | | | | | | | | Aura now uses the TextInputManager for tracking selections. Change-Id: I86634b987b0184a90d3d7125e568fcdab0b2e930 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-2/+2
| | | | | | | | | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-301-21/+37
|\| | | | | | | Change-Id: Ic36a80502730d404ab96dfa11ff1eb0ac6eb302d
| * Fix confirming IME composition and newline insertionPeter Varga2017-01-251-21/+37
| | | | | | | | | | | | Task-number: QTBUG-55766 Change-Id: I3be3b224dfef9ecc1ce39f4f20ec5c1d13c0fa69 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-2/+6
|\| | | | | | | | | | | | | | | Conflicts: src/3rdparty tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I070173576fc4be53689ce0dd9e1fd4133f5814da
| * Fix handling of empty input method eventsPeter Varga2017-01-221-1/+4
| | | | | | | | | | | | Task-number: QTBUG-55766 Change-Id: I4e6ade8f000f66ff1bb28f3b856ae140834292f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Make input method hints available via RWHV delegate widgetPeter Varga2017-01-201-1/+2
| | | | | | | | | | | | | | | | | | 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>
* | Optimize scene graph rendering by reusing old nodes if possibleMichael Brüning2017-01-111-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | Previously, Qt WebEngine always dropped all existing scene graph nodes that were created for previous frames and built up a whole new tree. The main reason for this was that the render pass structure is not guaranteed to remain the same across two frames. This resulted in a full repaint of every new frame, even if only a small area had changed. We now check first if the structure of the frame data has changed across two sequential frames. We only discard the old nodes if there actually has been a change. Otherwise, we reuse the scene graph nodes and only update the nodes that have changed. A general exception to this at the moment is video. In case any streaming video or yuv video nodes are found in the render pass, all nodes get recreated. Task-number: QTBUG-57720 Change-Id: I8998577af48a163d54144f205c316ee427ed0307 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rework and fix loadVisuallyCommitted signalPeter Varga2016-11-251-8/+5
| | | | | | | | | | | - Remove RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout message and use WebContentsObserver::DidFirstVisuallyNonEmptyPaint instead. - The order of the DidFirstVisuallyNonEmptyPaint and OnSwapCompositorFrame events is not guaranteed. Check for both events to do not miss to send any loadVisuallyCommitted signal. Change-Id: Ic733b3e9a6fae64b1d827e8e07514f180273cf8c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add support of colored underline and background to InputMethodEventPeter Varga2016-09-231-1/+19
| | | | | | | | | | Moreover, unskip and update inputMethodsTextFormat widget auto test and move it to the tst_QWebEngineView tests. New manual test has been also added for testing input methods format. Task-number: QTBUG-55766 Change-Id: I4c71e15cb426925f76c770266a3c20f1cc12b687 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations to Chromium 53Allan Sandfeld Jensen2016-09-141-13/+8
| | | | | Change-Id: I15053486edfd42ee607250b4f14fb6eaa325c959 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations to Chromium 52Allan Sandfeld Jensen2016-09-141-7/+2
| | | | | Change-Id: Idf8a511ba26d263fd9d014d87d5e1101d706da71 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-051-12/+77
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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