summaryrefslogtreecommitdiffstats
path: root/src/webengine/plugin
Commit message (Collapse)AuthorAgeFilesLines
* Web Notifications APIKirill Burtsev2019-02-061-1/+2
| | | | | | | | | | | | | | Implements API for end-user notifications. Co-authored by Allan Sandfeld Jensen [ChangeLog][Profile] Support for Web Notifications API for end-user notifications through QWebEngineNotification Task-number: QTBUG-50995 Fixes: QTBUG-51191 Change-Id: Icebaaa05275a713e801f1f8ecdaaec725fa264c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement touch text selection for QQuickWebEngineViewPeter Varga2019-01-311-0/+2
| | | | | | | | 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>
* Add API to set default download pathTamas Zakor2019-01-302-6/+12
| | | | | | | | | | | | | | | | | | | Add functions and property to set the default download location in QWebEngineProfile and QQuickWebEngineProfile. Also add new test for check uniquifying download filename. Update plugins.qmltypes to 1.9 [ChangeLog][Profile][QtWebEngine][QtWebEngineWidgets] Add functions and property to set the default download location in QWebEngineProfile and QQuickWebEngineProfile. Task-number: QTBUG-66262 Task-number: QTBUG-72176 Change-Id: I7fa93b66c326766b176aec24d453dd75602b91de Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add support for client-certificate selection to QMLAllan Sandfeld Jensen2019-01-241-0/+7
| | | | | | Task-number: QTBUG-69363 Change-Id: I54d1df17d82bf2297f43762b0ba86a080bafee23 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add configure for webengine and webenginewidgetsMichal Klocek2019-01-215-106/+16
| | | | | | | | | | | | | Add possibility to build without widgets or qml support. Move module related options to webengine's subconfigure. Make proper dependencies between qml_module and qml_plugins. Cleanup headers. Fixes: QTBUG-68956 Task-number: QTBUG-70784 Change-Id: I4605d98b0d2c83c99af37e2186b5fbf10f8a6049 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-162-0/+2
|\ | | | | | | | | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e
| * Add missing classname to qmldirsAllan Sandfeld Jensen2018-11-132-0/+2
| | | | | | | | | | | | | | Only really needed for static builds though Change-Id: Ib196301ed2b0c4b94c7a8d86740b2a19b77e3eb5 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Make it possible to enable OCSP on LinuxAllan Sandfeld Jensen2018-10-171-0/+1
|/ | | | | | | | | | | | | The code follows Chromium and also set a CertNetFetcher on both Linux and macOS, but it appears to be currently unused. [ChangeLog][QWebEngineProfile] A profile can now be designated to download OCSP records and thus enable OCSP verification on Linux. Task-number: QTBUG-58059 Task-number: QTBUG-71164 Change-Id: I84fd34d4351cb7aa4417ce4058f97bad4b8d0cd4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Clean up WebEngineAction APIPeter Varga2018-09-201-6/+1
| | | | | | | | | - Rename iconText to iconName - Remove unused QQuickWebEngineAction::toggled signal - Remove argument of QQuickWebEngineAction::enabledChanged signal Change-Id: I37172c096003eea58e567753265abd91679dacf1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update plugins.qmltypesKai Koehne2018-08-302-13/+17
| | | | | | | | | By running qmlplugindump -defaultplatform -dependencies dependencies.json -nonrelocatable QtWebEngine 1.8 >plugins.qmltypes Change-Id: I0d3bce858594bd6f6958b329c9c3a939462329bd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QWebEngineDownloadItem page/view accessorAllan Sandfeld Jensen2018-08-021-0/+2
| | | | | | | | | | To be able to determine where a download was triggered. [ChangeLog][DownloadItem] Added a page/view accessor to tell were the download was triggered. Change-Id: I21843a545a3e0eb66f5e5fa8a50e77564f2118a7 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Introduce WebEngineAction in Quick APIValentin Fokin2018-08-022-4/+38
| | | | | | | | | | | Also implement QQuickWebEngineView::action() method similar to the Widget API to access the WebEngineActions. [ChangeLog][QtWebEngine] Introduce WebEngineAction in Quick API Task-number: QTBUG-56117 Change-Id: I758cd4703db4c111c1ed9187e091d4c845486c46 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Add DNS prefetchingAllan Sandfeld Jensen2018-08-011-0/+1
| | | | | | | | | | | Turns out we did no have DNS prefetching. It requires an extra component. The same component can also do pre-connect, but we do not enable that, as it requires a predictive browsing backend. [ChangeLog][Settings] DnsPrefetchEnabled added, but disabled by default. Change-Id: Ieb036435b9f1a72a7be302e38e89e0c347c7176b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fine tune configure and clean up header includesMichal Klocek2018-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Previously configure was generating two config headers qtwebengine-config.h and qtwebengine-config_p.h, however those headers were never installed or included as dependency in Makefiles. Moreover, due to the name clash all features were included into qt_lib_webengine_*.pri which is QtWebEngine QML module. Move configure to core so all features belong now to qt_lib_webenginecore*.pri. Fix global includes to include qtwebenginecore-config*.h. Drop all DEFINES and use QT_CONFIG instead. Cleanup all evil looking includes in headers for webengine and webenginewidgets. Change-Id: Iddbc8bf4487d9a5f0c19a71a9569535083507756 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update plugins.qmltypesKai Koehne2018-04-172-16/+34
| | | | | | Task-number: QTBUG-66905 Change-Id: I149a0d6a9b16ddc55c52200b7dce2b5e37409e9d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Shorten names of permission classesJüri Valdmann2018-04-131-8/+8
| | | | | | | | | | | Remove 'permission' from class and signal names, so e.g. QWebEngineQuotaPermissionRequest becomes QWebEngineQuotaRequest and quotaPermissionRequested becomes quotaRequested. Rename the internal controller classes to public name + "Controller". Change-Id: I247714ab0a2880adbf4ed8ee68f1b78838ae7a14 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove MediaNone, CanDoNone flags from QWebEngineContextMenuDataValentin Fokin2018-03-221-2/+0
| | | | | | Task-number: QTBUG-66994 Change-Id: I8e5ce23e2326fff078e11cadc70274641eeef132 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add registration of QQuickWebEngineDownloadItem / 1.7Kai Koehne2018-03-201-0/+2
| | | | | | | | | | Explicitly register the new property added in 7219986a18d45d. Because of QTBUG-50990 this is strictly speaking not necessary at runtime, but makes sure that qmlplugindump also generates metadata about the new property. Change-Id: Idcc286aa7b25eb50d0f37cda8ee718d65a51e7f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move quota and registerProtocolHandler permission classes to coreJüri Valdmann2018-03-081-4/+9
| | | | | | | | | | | | | | | | | | | | | | | - Move QWebEngineQuotaPermissionRequest and QWebEngineRegisterProtocolHandlerPermissionRequest to QtWebEngineCore. - Delete QQuickWebEngineQuotaPermissionRequest and QQuickWebEngineRegisterProtocolHandlerPermissionRequest. Miscellaneous cleanup: - Mark QWebEngineQuotaPermissionRequest constructors as internal for QDoc. - Remove superfluous Q_DECLARE_METATYPEs (implied by Q_GADGET). - Remove Q_UNREACHABLE from default constructor. For some reason QML seems to default construct an unused temporary object before throwing it away and copy constructing the actual object. This triggers Q_UNREACHABLE. Change-Id: Icf9f4e34996e4c64aec65b734bcb3bbd22b4dc51 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add support for registerProtocolHandlerJüri Valdmann2018-02-131-0/+2
| | | | | | | | | | | | | | | | | | | Extend initialization of URLRequestContextGetterQt to create a content::ProtocolHandlerRegistry for each content::BrowserContext and add the registry's URL request interceptor to the front of the interceptor chain. Implement methods in WebContentsDelegateQt to add/remove protocol handlers to/from the ProtocolHandlerRegistry. Add permission request signal and classes for core, quick and widgets. Add widgets autotest. Add signal handlers to quicknanobrowser and simplebrowser. Task-number: QTBUG-62783 Change-Id: I808e7eb9a1cb4d7216686deed4895de14fe46310 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add EditFlags and MediaFlags to Quick and Widget APIValentin Fokin2018-02-022-6/+62
| | | | | | | | | | | | | | | - EditFlags shows the available edit actions - MediaFlags shows the status and available actions of the current media element - Update the documentations - Register ContextMenuRequest 1.1 - Update plugins.qmltypes [ChangeLog][QtWebEngine][QtWebEngineWidgets] Add EditFlags and MediaFlags to the APIs Change-Id: Ia7603696a291df5465c5e612adc2456f5f6cb479 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Register version 1.7Szabolcs David2017-09-271-0/+1
| | | | | | | It fixes the quicknanobrowser example. Change-Id: Ib7e89c4a5c02c9bf37a788be8bddb47e738325d8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix version numbers for UnknownUrlSchemePolicyViktor Engelmann2017-09-263-4/+22
| | | | | | | | | | | | As 49c0ce8403e5caeb864f66553f122c68a7c975fb missed feature freeze for Qt 5.10, the version numbers must be corrected to Qt 5.11, REVISION 6 etc. Also the auto test was moved into its own source file, so we can blacklist it on Boot2Qt. Task-number: QTBUG-58627 Change-Id: I2381e2433ba1b903a62f59a6db58e5f25af77336 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-211-2/+2
| | | | | Change-Id: I5fb337a83bfc98c23b2f3cd51839feb40fad010e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add Setting to allow passing unknown URL schemes to QDesktopServicesViktor Engelmann2017-09-181-3/+19
| | | | | | | | | | | | | | | | | | A new enum UnknownUrlSchemePolicy was added to WebEngineSettings, QWebEngineSettings and QQuickWebEngineSettings. WebContentsDelegate now has a new attribute of that type, which can be read and written through the public APIs Q(Quick)WebEngineSettings::unknownUrlSchemeNavigationPolicy and Q(Quick)WebEngineSettings::setUnknownUrlSchemeNavigationPolicy. This way, one can control, whether URLs with unknown schemes are passed to QDesktopServices. WebContentsAdapterClient::navigationRequested is called on these requests, so this allows more fine-grained control over the schemes and origins, that are allowed. Task-number: QTBUG-58627 Change-Id: Ie81d9503456d63ea1ed5606483254acf437cd8f7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support Quota Management APISzabolcs David2017-09-131-0/+2
| | | | | | | | | | | | | | | Expose navigator.webkitPersistentStorage.requestQuota() calls to the API layer as a permission API. It allows the users to accept these requests and specify a quota for persistent storage. https://developer.chrome.com/apps/offline_storage#managing_quota [ChangeLog] navigator.webkitPersistentStorage.requestQuota() calls were rejected by default and now they will emit signal quotaPermissionRequested in both WebEngineView and QWebEnginePage. Task-number: QTBUG-56354 Change-Id: Id192577ffb403694d3051414744ded89bbfd2aa8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add auto tests for MultipleMouseClickHelperPeter Varga2017-08-311-0/+2
| | | | | | | | | | | Qt WebEngine implements a custom handler for multiple mouse clicks. These tests are intended to test whether the mouse click events are properly forwarded to the Chromium's RenderWidgetHost. Custom mouse click test functions have been also added for the custom mouse click handler. Change-Id: Ifdc7d09f5e0f0f76c37e137e5743482bf3fb8abb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Cleanup support for desktop captureJüri Valdmann2017-07-172-3/+8
| | | | | | | | | - Use feature permissions system instead of hard-coded dialog. - Add QML test for getUserMedia() and extend existing widgets test. Task-number: QTBUG-60832 Change-Id: I533bed5021b3b0ee199b8abc6ddbd516cbd14ff6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement pause and resume action in Download ItemsAllan Sandfeld Jensen2017-06-231-0/+2
| | | | | | | | | Adds the ability to pause downloads, and resume paused or interrupted downloads. Task-number: QTBUG-56840 Change-Id: I018bd30c3a772a36d48e4154d94f69cb8d8319e4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add back input method auto tests and test virtual keyboard for QuickPeter Varga2017-06-222-1/+3
| | | | | | | | This patch also fixes the update of the ItemAcceptsInputMethod flag of QQuickWebEngineView regarding to the focused element in the view. Change-Id: Ic6e39401bdc7ca5fab9cc03e878aa731f23fc147 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Handle ViewHostMsg_Focus message from chromiumViktor Engelmann2017-05-243-4/+8
| | | | | | | | | | | | | | | | | | | | | | Calling the method window.focus() in javascript causes chromium to send a ViewHostMsg_Focus message, which is received by RenderViewHost, which then calls RenderViewHost::OnFocus. This calls WebContentsDelegate::ActivateContents, which does nothing in the default implementation. We now override this method in WebContentsDelegateQt::ActivateContents and call Focus() on the WebContents object IF the new WebEngineSettings value AllowWindowActivationFromJavaScript is true (by default, it is false). This in turn calls QWebEnginePagePrivate::focusContainer. The WebEnginePage now calls QWidget::activateWindow() in addition to QWidget::setFocus, to make sure the window is also activated (which it might not be, if multiple windows are open). For the QML side, a new boolean Property allowWindowActivationFromJavaScript was added. Task-number: QTBUG-58800 Change-Id: Iabf5d4d15236c77838a3886de81e9dafcaf49f5d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update plugins.qmltypesViktor Engelmann2017-05-231-1/+13
| | | | | | | | | Update plugins.qmltypes That should have been done in 317270cdda436ca0ef7d28ce53de7b09deb9858f already. Change-Id: I3fa8778792274ae44066e7e3dc73bcc9f2f1b795 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove unused qmlRegisterRevision callKai Koehne2017-04-111-3/+0
| | | | | | | | This was used for registering an alternative QtWebEngine.experimental import, which has however been removed since then (a4dcc5b4894aac). Change-Id: I0edd869fcc0057b2c6a4932eb39cb8f739f571bc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update plugins.qmltypes to 1.5Kai Koehne2017-04-113-26/+88
| | | | | | Change-Id: Iad422ed29cf1781b4537c747bbe498c32f1e5ef0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Make QQuickWebEngineNewViewRequest::requestedUrl readable for QMLViktor Engelmann2016-12-151-0/+1
| | | | | | | | | | Added Q_PROPERTY and getter for QQuickWebEngineNewViewRequest::m_requestedUrl so that it can be read from QML. Task-number: QTBUG-55590 Change-Id: I39e89690f996a1db7c9ce39103429186b26811f8 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add DownloadInterruptReason to Q(Quick)WebEngineDownloadItemViktor Engelmann2016-12-071-0/+2
| | | | | | | | | | | | | | Add enum DownloadInterruptReason to BrowserContextAdapterClient, QWebEngineDownloadItem and QQuickWebEngineDownloadItem. Also add corresponding attributes to BrowserContextAdapterClient::DownloadItemInfo, QWebEngineDownloadItemPrivate and QQuickWebEngineDownloadItemPrivate as well as getters in QWebEngineDownloadItem and QQuickWebEngineDownloadItem and interruptReasonChanged signals. Task-number: QTBUG-56839 Change-Id: I937c14ba0b0884b14ae18ba297024b76dde62605 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add AllowGeolocationOnInsecureOrigins settingAllan Sandfeld Jensen2016-12-011-0/+1
| | | | | | | | | | | This provides a way to restore earlier QtWebEngine behavior where geolocation was possible from all origins. [ChangeLog][Settings] Added setting to again allow insecure origins to request geolocation. Change-Id: I043fb7a36a56fa5acc1740d52a50b9d7ff49a2c5 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Update plugin.qmltypes to 1.4Marco Benelli2016-11-161-3/+3
| | | | | Change-Id: I988eead2a65a3aa657864631d1d87b9d9a4f0ab3 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-111-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h src/core/gl_surface_qt.cpp src/core/print_view_manager_qt.cpp src/core/web_contents_delegate_qt.cpp src/core/web_engine_context.cpp src/webengine/doc/src/qtwebengine-overview.qdoc src/webengine/doc/src/qtwebengine-platform-notes.qdoc src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp src/webenginewidgets/webenginewidgets.pro sync.profile Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
| * Add missing override to initializeEngine in pluginMichal Klocek2016-11-021-1/+1
| | | | | | | | | | | | Task-number: QTBUG-56870 Change-Id: I36338a1a29bc4e82f5c84cfa1ea641b8df3b5f4f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Update spellcheck api to support multiple languagesMichal Klocek2016-10-291-2/+2
| | | | | | | | | | | | Task-number: QTBUG-56074 Change-Id: I2a66e91dd4ed1026e5ab2539cfd3f9094263b48c Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | QML plugin: Introduce message helper function for uncreatable typesFriedemann Kleint2016-10-111-10/+16
| | | | | | | | | | | | | | | | Reduce the number of messages to be translated to reduce the translation workload. Change-Id: Ifa76b02ed6474522eea3b9f74434ead95a6b0d0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Update plugins.qmltypesKai Koehne2016-10-042-26/+232
| | | | | | | | | | | | Task-number: QTBUG-56283 Change-Id: If92230e245d0257b11e59fb1d5fbb86f8af88f55 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
* | Remove experimental Quick APISzabolcs David2016-09-223-95/+0
| | | | | | | | | | | | | | | | | | QtWebEngine.experimental import is not working. It is better to get rid of that. It also removes some QNX-specific code. Change-Id: If80c1290b4d5f5e4d436c49bd7d7a6ea882ee6db Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Improve robustness of QML plugin loadingSimon Hausmann2016-08-313-3/+3
| | | | | | | | | | | | | | | | Use a variable that expands to the latest plugin version instead of hard-coding the string. Change-Id: Ie0a829fc5e1f3c6468d8ba7353913038106a424a Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Add context menu request to qml apiMichal Klocek2016-08-312-5/+3
| | | | | | | | | | | | | | | | | | | | | | Introduce qml APIs to support custom context menus. [ChangeLog][QtWebEngine][QML] Added ability to show custom context menu. Task-number: QTBUG-52554 Change-Id: Ief0cbbbf221f4c6849e16bbba7417dccee59ad61 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add dialog requests to qml apiMichal Klocek2016-08-311-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce qml APIs to support custom dialogs: * http and proxy authentication * javascript dialogs * file pickers * color pickers * form validation messages [ChangeLog][QtWebEngine][QML] Added ability to provide custom dialogs for HTTP and proxy authentication, JavaScript alerts, file and color picking, and form validation messages. Task-number: QTBUG-51190 Change-Id: I559ca59264750feb36ba7d3dba0bf0647509306d Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add focusOnNavigationEnabled settingAlexandru Croitor2016-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The focusOnNavigationEnabled setting allows changing the behavior of whether a WebEngine view (widget or quick) will automatically get focus, whenever a navigation action happens (load, reload, previous history entry, etc). The default behavior before this patch was to always grab the focus. [ChangeLog][QtWebEngine][General] Add focusOnNavigationEnabled setting which allows controlling whether a web view will receive focus on a navigation request. Previously the view always received the focus. Task-number: QTBUG-52999 Change-Id: I6d30d973a41b53011131f21dcecbf6ec4d652759 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Bump import QtWebEngine 1.4Kai Koehne2016-08-031-1/+1
| | | | | | | | | | | | Change-Id: Ic2261be6540b592edf38f721a82b631a5f1ffd95 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Add back spellchecking supportMichal Klocek2016-07-022-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit: * d364c05de52f9ab39034e56cac4e0a7981dc541d * e507f140b70f464fb970d2f94357ac588dcc4f03 Moreover it fixes shut down of keyed services, updates versioning of and fixes spellcheck unit test context menu request, which otherwise fails on windows. Change-Id: I9bfc589544cb969abd6d2d7af69531b4c5c907b7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>