summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Improve OpenGL implementation checkAkihiko Odaki2016-07-131-8/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt WebEngine uses `isOpenGLES` to know whether the OpenGL implementation is EGL with OpenGL ES 2.0. However, some non-ES OpenGL implementation such as eglfs_x11 uses EGL and are compatible with OpenGL ES 2.0. This change allows to use them. Also the change will allow to detect incompatible combinations. (i.e. EGL + ES-incompatible OpenGL, API other than EGL + OpenGL ES) Change-Id: I0abea253696d06ec365bde2176663700e8567f45 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Propagate the view's screen coordinates on global position changeJoerg Bornemann2016-07-122-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose having a QWebEngineView as one of many child widgets in a layout. Resize some child widget such that the position of the QWebEngineView changes (without changing the position of the top-level window). Chromium must be informed of the changed global position, otherwise popups will be opened at the old position. Also see commit 7f941a34, which originally introduced the coordinate propagation for top-level window moves. Task-number: QTBUG-51244 Change-Id: Ieb372e8d7554700d5e8d1e2148ab778094ea3878 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Allow QWebEnginePage::createWindow to return thisJoerg Bornemann2016-07-082-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Consider a QWebEnginePage subclass that does "return this;" in createWindow. Commit 1f07d2929a made this a no-op to prevent QtWebEngine from crashing. The reason for the crash was access to deleted memory after destroying the current adapter in adoptNewWindow. Defer the adoption in this case to whenever we hit the event loop again. Change-Id: I9674d80ef8b2f301c1446ff505b2486649451ba6 Task-number: QTBUG-42216 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Fix regression in text selectionAllan Sandfeld Jensen2016-07-041-0/+13
| | | | | | | | | | | | | | | | | | While 'button' should officially be none on mouse move events, the aura and windows events set 'button' on mouse move, and selection code appears to depend on it. Change-Id: I49f84e6f9178c3b2cb0f2c2c8a7b1d30141d0b4e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix regression with fine-grained wheel eventsAllan Sandfeld Jensen2016-07-041-2/+2
| | | | | | | | | | | | | | | | The division needs to be done in float, otherwise steps smaller than one standard tick will be rounded to zero. Change-Id: Id939be062f1575104ca6cd66f05892841ec27569 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Switch WebContentsAdapter to using shared pointersAllan Sandfeld Jensen2016-07-0113-48/+40
| | | | | | | | | | | | | | | | | | QExplicitSharedDataPointer is meant for value objects, not for shared objects. Instead switch to using QSharedPointer. Change-Id: Ib3791bbcfde627a67508f2819e141d8c538a4a50 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
| * Let script collection hold a reference to the adapterAllan Sandfeld Jensen2016-07-013-16/+12
| | | | | | | | | | | | | | | | | | While the script collection always follows a page, it is safer to have both hold a reference to the web-contents adapter, so it doesn't get deleted while adapters are being changed. Change-Id: I21e268f7228f13702468df61e0032bdf2f99873a Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Clear internal selected text when searchingAlexandru Croitor2016-07-012-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously if a selection was made on a web page, and afterwards a find operation is executed, the selection in the web page would be cleared, but the call to selectedText() would still return the old selection. Make sure selectedText() is always cleared, when starting a find operation, as well as when stopping one. Change-Id: If78f0fa1dd836a52184015e749ef5a84b9f784cd Task-number: QTBUG-54071 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix invalid pointer in script collection after opening popupAllan Sandfeld Jensen2016-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | The script collection has a pointer to webcontents adapter, and when a new adapter is adopted, the pointer in the script collection needs to be updated. Task-number: QTBUG-54419 Change-Id: Ia054e1281ab4db637beab570abda752074dc9280 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Doc: Do not explicitly mention names of signal handlersKai Koehne2016-06-281-13/+2
| | | | | | | | | | | | | | | | | | | | You can also connect arbitrary methods using the Connections type, or the connect() method. Anyhow, this is standard QML behavior, so no need to mention it in every signal. Change-Id: I419c74eee7ce190c44336d9f25c1a3aa30f36ab4 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Doc: Specify types of qmlsignal argumentsKai Koehne2016-06-271-10/+8
| | | | | | | | | | Change-Id: I8694de2fa43eb7d343e8abcb617939dafab59ebc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Remove handling of DIR_MEDIA_LIBSAllan Sandfeld Jensen2016-06-272-30/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | DIR_MEDIA_LIBS was where ffmpegsumo was before 5.6 which removed it. When we don't have the library it used to be in, we return the fallback path, which by OverridePath will be created if it doesn't exits. DIR_MEDIA_LIBS is not used anywhere by Chromium anymore, so remove the code. Task-number: QTBUG-54258 Change-Id: I1015bd3549c617916c06b633ba3e483ef855ff84 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Stop linking both debug and release libraries at the same time.Alexandru Croitor2016-06-271-0/+7
| | | | | | | | | | Change-Id: Ide3a8adc320b38a399514c0115bd8e24c37af63d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Reinstall the webChannelTransport on render process switchJocelyn Turcotte2016-07-282-0/+10
| | | | | | | | | | | | | | | | | | | | | | Since we now have a state on the render process side in WebChannelIPCTransport to know if we should install the web channel transport or not, it's important to keep this state updated if a new render process is spawned for a WebContentsAdapter. Task-number: QTBUG-53411 Change-Id: Id0e9e537dcf09317ca3dafd4020a7ada8d16bb8b Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Update Chromium sub-moduleAllan Sandfeld Jensen2016-07-281-0/+0
| | | | | | | | | | | | | | Pulls in security updates from Chromium 42 and two gyp fixes. Change-Id: I0466d48c85640cae57e28c9621800bb1d8665655 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Doc: Update to Chromium version used in 5.7Leena Miettinen2016-07-251-1/+1
| | | | | | | | | | Change-Id: I6ace25fc3085f7816d128be651d00040de6e53d6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Doc: Fix grammarLeena Miettinen2016-07-211-1/+1
| | | | | | | | | | | | | | | | A list of three items requires that the verb in the leading sentence take the plural form "are". Change-Id: I054d37d891db3ec1a372b22e9707a59cdaf84922 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add missing Q_DECL_OVERRIDE macroAdam Kallai2016-07-141-1/+1
| | | | | | | | | | | | | | | | This macro is missing from the end of the showColorDialog function in qwebenginepage_p.h. Change-Id: Iec1998244f0b40767c37b89ef65a1b0d7451d3fe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix building on OS X 10.9 with 10.10 SDKAlexandru Croitor2016-07-013-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously building on OS X 10.9 was only allowed with a 10.10.3 SDK. But there is no supported version of Xcode on 10.9 that would ship with that SDK, which lead to the fact that there was no way to compile WebEngine with an officialy provided toolchain. This patch lowers the requirement of the SDK to 10.10, at the expense of disabling usage of API that was added in the 10.10.3 SDK release (Force Touch API). The required minimum Xcode version is thus bumped to 6.1, and the documentation is updated accordingly. Task-number: QTBUG-54486 Change-Id: I025caa336ceac5b8ea76ef451eb5e6b78abfe0c9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-2713-28/+186
|\ \ | |/ | | | | Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
| * Fix detection of MIPS architucture revisionAllan Sandfeld Jensen2016-06-241-3/+10
| | | | | | | | | | | | | | | | | | We were not handling -march= arguments and we were not setting the result in GYP_CONFIG. Task-number: QTBUG-54336 Change-Id: I63e45f153aa46d5879aa968aa6c3d898ef58855e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix memory leak of unhandled certificateErrorMichal Klocek2016-06-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user does not handle onCertificateError the instance of QQuickWebEngineCertificateError never gets to JavaScript land and never gets deleted. Create a strong reference before emitting the onCertificateError to guard against the memory leak. Change-Id: I49dbf89445d32291e2f52976f0f5e9deda201fcb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Use angleDelta instead of deprecated Qt4 deltaAllan Sandfeld Jensen2016-06-231-7/+4
| | | | | | | | | | | | | | | | Switch to using the Qt5 angleDelta instead of the Qt4 style delta that can only handle single orientation wheel events. Change-Id: I181dda03c7fc9c676100cb31ab7717f9641b625e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Remove split between 'C++' and 'QML' modules in index pageKai Koehne2016-06-232-5/+1
| | | | | | | | | | | | | | | | This is somewhat artificial, since the QtWebEngine module now also has public C++ API. Change-Id: I2067a3eb4e84cfac2b3e6766b272445b9bd31ae7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Override short-cuts to common editor commandsAllan Sandfeld Jensen2016-06-227-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Always show caret when editing an IME pre-edit string.Alexandru Croitor2016-06-171-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously while entering a Japanese succession of characters, followed by transforming a substring into a word suggestion, the caret would disappear, and pressing the arrow keys would not indicate which part of the pre-edit string will be transformed next. This change makes sure the caret is always present, to indicate which part of the pre-edit string will be replaced by a possible IME suggestion. Change-Id: I350310c198bcacf0bcb48217f84b08e95ab8e8ef Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Handle IME events which contain both preedit and commit strings.Alexandru Croitor2016-06-171-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if a QInputMethodEvent is received, which contains text in both the pre-edit and commit strings, Chromium would only show the commit string in the text input (or other html element). The IME though still knows about the non-empty pre-edit string, which means that if another key is pressed, Chromium will suddenly show the content of the previous pre-edit string AND the result of the new key press. To fix this, WebEngine will now properly set the pre-edit string as the new composition, after confirming the previous commit string. Change-Id: If22dd2038aca35a6fe6bb58a521f0a7124c7d468 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix backspace to work when removing last IME char.Alexandru Croitor2016-06-171-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when composing a word using an IME, and backspace is pressed to remove the last character present in the pre-edit string, instead of the character being removed, nothing happens. In reality the character is removed, but Chromium isn't notified of it, and the change will be seen only after another key is pressed. Fix consists in notifying Chromium to cancel the IME composition when both the pre-edit string and the commit string are empty. There is still an issue with japanese, when trying to input "aaa", press space, then "b" and you don't see the "b" until you press one more key. Change-Id: Idf2ef4888caead26d19eabbbdf4f98fbee601049 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Commit the done-so-far IME composition on mouse click.Alexandru Croitor2016-06-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, it was possible to select parts of the pre-edit text in an ongoing IME composition, by click-dragging with the mouse (which also looked wrong, because the styling of the text did not change to a selection box to signal selection). This is inconsistent with how Chrome does it, which commits the pre-edit string entered so far, when clicking anywhere in the content area or in the input. This change makes sure to commit the pre-edit string when a mouse click is done anywhere on the displayed web page. The behavior was present on Windows and Linux. Change-Id: I9cb148c591b5d09fb4dd477ae96c29ca32cc34de Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Don't cancel an IME composition when a modifier key is pressed.Alexandru Croitor2016-06-172-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an asian IME is used to compose a new word, and a modifier key is pressed (shift, alt, etc), WebEngine would notify Chromium to cancel the composition, thus clearing the text. But the actual IME window would still be present, and if another "letter" key was pressed, the composition would continue with the previous pre-edit text, which leads to unusual text flickering. The previous behavior was introduced in 31efe25d14 to fix a Windows double character input bug. The current change makes sure to clear the IME composition only in case the last received QInputMethodEvent pre-edit and commit strings were empty, which is not the case when pressing a modifier key for instance. Change-Id: Ic968404c90e1e0eb703fe1c2849990467bedd5e1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Doc: Fix the documentation of WebEngineContextMenuDataAdam Kallai2016-06-201-8/+8
| | | | | | | | | | Change-Id: I7ce66ad2f1c1c6a408637c5c541cba22c7260591 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | make use of COPIESOswald Buddenhagen2016-06-171-21/+2
| | | | | | | | | | Change-Id: I440ead04e386362593d50c491508676bb5d0ff64 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | fix logical mismerge from 5.6Oswald Buddenhagen2016-06-172-2/+2
| | | | | | | | | | | | | | iphonesimulator_and_iphoneos was renamed to simulator_and_device in 5.7. Change-Id: I0be78eb67b9f9867548108235eb180874f66cb95 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-1714-32/+115
|\ \ | |/ | | | | Change-Id: If4d8a25f5a2192a658d031252435935cbc675725
| * Update ChromiumJoerg Bornemann2016-06-161-0/+0
| | | | | | | | | | | | | | | | | | | | | | Pulls in the PDB location fix, an updated libjpeg_turbo and the backport of a crash fix. Task-number: QTBUG-52938 Task-number: QTBUG-53800 Task-number: QTBUG-54023 Change-Id: Ic773b082d26825758e8986e8d77f8f5bc7b80f83 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix access to deleted memory on QWebEnginePage destructionJoerg Bornemann2016-06-167-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose QWebEnginePage is destroyed while there's still a combobox popup open. We would crash with the following stack trace: 1 QtWebEngineCore::RenderWidgetHostViewQt::dpiScale 2 QtWebEngineCore::RenderWidgetHostViewQt::GetViewBounds 3 content::RenderWidgetHostImpl::SendScreenRects 4 content::RenderWidgetHostImpl::OnRenderViewReady ... 16 base::MessageLoop::DoWork 17 WebEngineContext::destroy 18 `anonymous namespace'::destroyContext 19 qt_call_post_routines 20 QApplication::~QApplication RenderWidgetHostViewQt still holds a pointer to WebContentsAdapterClient. To fix this, expose the QObject owning the adapter client, and hide RenderWidgetHostViewQt when it is destroyed so it won't try to render. Change-Id: Ide5543197b35038a3e1c7491ceda3f5ad10f6f07 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Support WebCursors Qt doesn't have cursor types forAllan Sandfeld Jensen2016-06-161-9/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | Use Chromium's Aura cursors when we don't have Qt equivalents. These cursors were also supported in QtWebKit. Note this depends on Aura being used, which means OS X still doesn't have the new cursors. Task-number: QTBUG-53593 Change-Id: I9fbbf102dd313da5a6836069b4d7ece057d8c946 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Doc: Add canceling authentication to porting instructionsLeena Miettinen2016-06-161-1/+9
| | | | | | | | | | | | | | | | | | | | It has changed from how it was done in Qt WebKit. The following sentence needs to be changed, because "this" no longer refers to the correct thing. Task-number: QTBUG-53849 Change-Id: I11be382c92a4ab729585d334a4f3c0abe46bb3e4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Follow hotspot hints in custom cursorsAllan Sandfeld Jensen2016-06-151-1/+1
| | | | | | | | | | | | | | We shouldn't ignore defined hotspots for cursors we adapt from pixmaps. Change-Id: Ia9c1e29e6374116d4564b306d0e199baaf5d494f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Do not forward invalid mouse events to blinkAllan Sandfeld Jensen2016-06-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Blink can not handle more than the three main mouse-buttons, and we were translating a press of an extra mouse-button as a mouse-down of the button ButtonNone. Instead ignore mouse-button events blink does not currently support. Task-number: QTBUG-53799 Change-Id: If1d3ba6bd331ec8ad0ff45bcd674e67763ee9097 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Doc: Make Chromium security fix information less specificLeena Miettinen2016-06-151-2/+2
| | | | | | | | | | | | | | | | New security fixes are added for new Qt 5.6.x versions. Change-Id: Ibf67bde7003b99d729fe8ac23b86c8ff46182ee6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix translation of multiple pressed mouse buttonsAllan Sandfeld Jensen2016-06-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | We were reporting any mouse button event where the left mouse button was held as a left mouse button event. We should instead separate the button changed and the ones held. Also adds test of the translation. Change-Id: I1139d6615d54a036dfe843fdb1d1c90b23b467b5 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Stop forwarding OS synthesized touch-to-mouse events.Alexandru Croitor2016-06-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the change, chromium would process an onclick handler twice, once due to a touch event, and another time due to the OS synthesized mouse event. Patch makes sure only the touch events are forwarded to Chromium. This is consistent with mainline Chrome behavior. Task-number: QTBUG-53201 Change-Id: I16f46b94890c2f6fa9a9089f7c721ec79e0bc96b Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Add missing Q_DECL_OVERRIDE specifiers.Joerg Bornemann2016-06-133-4/+4
| | | | | | | | | | | | | | | | Fixes warnings when building with clang. Task-number: QTBUG-51295 Change-Id: I4ede7e4ea5c1c3924b3bba852834b8066b539825 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix memory leak of qml menuMichal Klocek2016-06-131-12/+12
| | | | | | | | | | | | | | | | | | | | | | Current qml menu implementation uses always WebEngineView as the parent of the menu. However menu can be triggered several times during WebEngineView lifetime, each time creating new menu component. Use onDone menu signal instead to delete menu. Change-Id: I1a6064451e95453268a2cd46899e297e769dc1f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix memory leak of authentication qml dialogMichal Klocek2016-06-131-0/+3
| | | | | | | | | | Change-Id: I951c78e53ff0e05918daf34076fffc44b813a8d2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Translate audio/video capture permissionAllan Sandfeld Jensen2016-06-161-2/+7
| | | | | | | | | | | | | | | | | | | | Complete the translation for the permission types we support, but assert against media capture permission request coming in via the permission manager so we can catch if Chromium changes how they are handled. Change-Id: Ia56ebe38fd163f724de7c564c3e6098717903dfb Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix license header in qwebenginesettingsMichal Klocek2016-06-141-4/+15
| | | | | | | | | | Change-Id: I77a9bdfb34dd01ae212d0f58cddaed4a7cf15917 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Load the devtools resources as optionalAllan Sandfeld Jensen2016-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | We separated the devtools resources so users might remove them if they do not need them. We should therefore avoid error messages when they are not present. Task-number: QTBUG-53879 Change-Id: I52321b7a04683a33ec4cfe8e389889f0ea721f70 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Expose WebEngineProfile.clearHttpCache()Kai Koehne2016-06-142-1/+2
| | | | | | | | | | | | | | | | The method is documented to be available in the QML API, but hasn't been exposed so far. Change-Id: I6f2b8ae132dc10718f1b9181eefeef5c2f2eeed6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>