summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-226-12/+34
|\ | | | | | | Change-Id: Ib374079ded76e43d4b72f725bbf16fe353ef827e
| * Remove download items internally when API objects are deletedAllan Sandfeld Jensen2019-01-216-12/+34
| | | | | | | | | | | | | | | | | | | | We were never removing internal download item. [ChangeLog][Behavioral Changes] Deleting a download item will now also cancel it if it is still in progress. Change-Id: I2fab497d7acf7ca6ca17f4a61e106b1c18bfb333 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix build with only OpenGL/ES2Samuli Piippo2019-01-212-4/+4
| | | | | | | | | | | | | | | | Define the needed extension when not available at compile time, move the define after usage was changed in commit 24e878d35. Change-Id: I6ce3c87832b91fb2ac5edf5c4c47bb8e8f935b0a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add configure for webengine and webenginewidgetsMichal Klocek2019-01-2115-135/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 remote-tracking branch 'origin/5.12' into devMichael Brüning2019-01-1813-69/+132
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/net/network_delegate_qt.cpp src/core/profile_io_data_qt.cpp src/core/web_engine_context.h tests/auto/core/qwebengineurlrequestinterceptor/tst_qwebengineurlrequestinterceptor.cpp Change-Id: Id98e3f52f548ceb5b68abd80aedd6ae59db72cc0
| * Fix build when we don't have all the X11 dependenciesAllan Sandfeld Jensen2019-01-172-13/+1
| | | | | | | | | | | | | | | | | | | | We only enable the GLX backends when we have all the X11 dependencies, but try to build the corresponding sources files even when we don't. And additional xrandr is no longer a dependency. Change-Id: I35c97c34c6d121bd6544344a73653900bf406be3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Do not force wrapping of tooltipsKai Koehne2019-01-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | QToolTip does wrap aggressively if HTML text is shown, which <p>...</p> enforces. Anyhow, this is not the default behavior for most browsers. This reverts part of b43774a9b89ed9. Fixes: QTBUG-72021 Change-Id: Iea0480c51f7c35c466bf3064423b2a81ee5b926c Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Rename leftovers of BrowserContext to ProfileAdapterMichal Klocek2019-01-074-10/+10
| | | | | | | | | | Change-Id: Ia86459503be86eb9b0d97affe94b7ce82d5e29f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Unify input event timestamps among platformsPeter Varga2019-01-041-21/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Chromium's expected timestamp base is the time when the system was started. QInputEvent::timestamp() returns a timestamp for the actual platform that may differ from the Chromium's standard. Use base::TimeTicks::Now() at the input conversion instead. This may provide less precise but valid timestamp for all cases. Fixes: QTBUG-72654 Change-Id: I2235344a629072c15f7b16c033e13260093de958 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Fix QWebEngineUrlRequestInfo::firstPartyUrl() after 69-basedTamas Zakor2019-01-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue was introduced by this Chromium change: https://chromium-review.googlesource.com/c/chromium/src/+/1025772/ Add new auto tests for first party url. Depends on Chromium change: d2f5d6869f Add net::URLRequest::first_party_url() Task-number: QTBUG-70790 Change-Id: Ib43bde69990e7fb1d495cc32ac2f6860a613f185 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Lock profile mutex during interceptRequestJüri Valdmann2019-01-024-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes setRequestInterceptor take effect atomically, so it's always safe to delete the interceptor after unsetting it from the profile. On the other hand, we run into a deadlock if the user code tries to wait for a profile operation on the UI thread to finish. It seems quite unlikely though that user code would do that and it would probably still be easier for users to understand and debug than the current non-deterministic use-after-free problems. Task-number: QTBUG-72260 Change-Id: I1784a9d9f00029d440508f0bb076d1081a326758 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Fix key and keyCode of KeyboardEvents for dead keysJüri Valdmann2019-01-021-6/+77
| | | | | | | | | | | | | | | | | | | | | | 1. Extend Qt::Key to ui::DomKey conversion to handle most Qt::Key_Dead_* keys. 2. Supplement Qt::Key to windows key code conversion with a fall back to DomCodeToUsLayoutKeyboardCode. Fixes: QTBUG-72655 Change-Id: I9ab8dc5f931065c4dc381adc5a1690ee288b8244 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Fix uniquifying download filenameTamas Zakor2019-01-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The QFileInfo::baseName() can’t be used to split the filename when it contains a dot what is not for extension. Moreover, use timestamps after 100 numerically deduplicated filenames as chrome do: https://chromium-review.googlesource.com/c/1278137 Task-number: QTBUG-66262 Change-Id: Ice548ba2824bd43cf7ad00509b598853087274af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Clean up visitedLinksManagerQt constructionMichal Klocek2019-01-104-10/+8
| | | | | | | | | | | | | | Remove dependency on profileAdapter. Change-Id: I362a0500413d39f2dec1d3a8bbc155df068d84ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Make AccessiblityActivationObserver separate of RWHVAllan Sandfeld Jensen2019-01-097-44/+168
| | | | | | | | | | | | | | | | 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>
* | Docs: Correct documentation of QWebEnginePage::print()Szabolcs David2019-01-071-4/+1
| | | | | | | | | | | | | | | | Task-number: QTBUG-68561 Change-Id: I4284725bc64f78dc4df39d88885d6a463c8efa62 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.12' into dev" into ↵Allan Sandfeld Jensen2018-12-1924-67/+169
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-1824-67/+169
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Doc: Fix a broken link to macOS requirementsLeena Miettinen2018-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | The docs we restructured for 5.12. Change-Id: I0b879bc9fb085d5743a16bc89d405e11f22ca66c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Doc: Add full stop to the end of brief statementLeena Miettinen2018-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | To get rid of a QDoc warning. Change-Id: Ib5d25edcf3b7e4a9786dd2056b025757ed5f7beb Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * Document and safeguard usage of custom schemesAlexandru Croitor2018-12-124-6/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change improves the documentation of QWebEngineUrlSchemeHandler to notify the requirement of registering a custom scheme before installing a custom scheme handler. Also start showing warnings when QWebEngineProfile::installUrlSchemeHandler() is called before a scheme is registered. Also show warnings when installing the handler using QML. Task-number: QTBUG-72079 Change-Id: If249592ea43fe2f9ad587a6ff4e8c9dedcc5d3d3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Fixes: QTBUG-72448 Change-Id: I04a5c7f7d0d64eb6a278560f439a585fba259cb4 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * 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 missing TransportSecurityPersisterMichal Klocek2018-12-042-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d603b7055 introduced TrasnsportSecurityPersister, however it did not survive merge form 5.11 to 5.12. Task-number: QTBUG-69605 Change-Id: I6357af25afcfd5c08aae77695bd2131f1cef6b71 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| | * Fix xscrnsaver detectionAllan Sandfeld Jensen2018-12-031-5/+5
| | | | | | | | | | | | | | | | | | | | | With Ozone use_xscrnsaver defaults to false, so reverse when we set it. Change-Id: I6950f68a693092bf9315e3d8202347adac3c4742 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Update ChromiumAllan Sandfeld Jensen2018-12-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: e67f78ca38 Fix building skcms with intel cc 085b0fd918 Fix compiling zlib without thumb 782b63902d Fix idle detection with X11 Ozone d2f5d6869f Add net::URLRequest::first_party_url() dbafb145af FIXUP: Pass virtual url of data url request back to the UI f98eb4915b Fix bogus check for thumb in zlib bee1c29f64 [Backport] Fix of CVE-2018-17479 (1/2) f365fecfa8 [Backport] Fix of CVE-2018-17479 (2/2) e99d664a35 FIXUP: Switch to use glx over ozone 323b45aa24 FIXUP: Pass virtual url of data url request back to the UI Change-Id: Ic0c5f6fa3e0792032f1c288470bc7f1df1cc15d6 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * Reinstate GetQtXDisplayAllan Sandfeld Jensen2018-11-292-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | Is needed by the X11-services with no working Ozone equivalent for runtime detection of X11. Change-Id: Iac79b5e29b9a8ef92af35209f3df40eb91c738f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Enable bilinear filtering for software texturesAllan Sandfeld Jensen2018-11-291-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently these will always have a filter value of 0 from Chromium. However fixing it exposes another bug that looks worse, so depend on that being fixed in 5.12.1. Change-Id: I3481a8cc5fa9fb98ae597905d22973ec411a1134 Fixes: QTBUG-71322 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| | * Avoid binding loops caused by default context menuSzabolcs David2018-11-292-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a WebEngineAction is tied to a UI element and a context menu request modifies its enabled state, the users get a warning: 'Binding loop detected for property "enabled"' Avoid triggering the action's notifier signal when the default context menu is being built. Change-Id: Ie23087f0b879399cf1cb88c44a42cd0be537a750 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix input method updatePeter Varga2018-11-295-26/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Docs: Extend documentation of WebActionsSzabolcs David2018-11-283-17/+31
| | | | | | | | | | | | | | | | | | | | | | | | Add some useful information. Change-Id: I39290c8dfc6c4a1d87c6b24fe6c48cab93f805db Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Doc: Add docs for useForGlobalCertificateVerificationLeena Miettinen2018-12-141-26/+27
|/ / | | | | | | | | | | | | | | Move information from the getter and setter docs here, and remove them. Change-Id: Idb68a4e691cd46faebec9f55bf17bbf1591f4766 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Move printing operation to a new threadSzabolcs David2018-12-1011-109/+283
| | | | | | | | | | | | | | | | | | | | | | Printing operations were blocking the UI thread, so applications were irresponsive when printing in large size or high resolution. Introduce a new worker for the painting logic and use shared pointers to carry the data around and avoid copying PDF data between threads. Task-number: QTBUG-68561 Change-Id: I30633380b75acd14f1a1df87985c99540168a9f1 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix recursion in WebEngineContext constructorMichal Klocek2018-12-042-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Gpu process startup needs sync point manager and it can ask for current web engine context, while is being created. Moreover this call will take place from GPU thread, so it leads to race condition. Done-With: Kirill Burtsev<kirill.burtsev@qt.io> Fixes: QTBUG-72113 Change-Id: I43bf37da0cf28ccb5c5cee0d82ed541053016e2e Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-11-289-28/+87
|\| | | | | | | Change-Id: Idf2c89bebf5e09855d764808cac487bc4b76faaa
| * Document client certificate featureAllan Sandfeld Jensen2018-11-271-0/+18
| | | | | | | | | | | | Change-Id: Id47a763642003f6056f1591e8ba7f82e255cd43e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix use-after-free in URLRequestCustomJobProxy::replyJüri Valdmann2018-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following operations are executing concurrently on the UI & IO threads: 1. UI thread executes QWebEngineUrlRequestJob::reply --> PostTask(IO, URLRequestCustomJobProxy::reply). IO thread executes URLRequestCustomJob::Kill --> PostTask(UI, URLRequestCustomJobProxy::release). 2. UI thread executes URLRequestCustomJobProxy::release, then deletes the QWebEngineUrlRequestJob and the QIODevice. IO thread executes URLRequestCustomJobProxy::reply and tries to use the QIODevice. Depending on scheduling, the IO thread will try to use the QIODevice after it has been deleted on the UI thread. Change-Id: I7a9793a7492a493e1787e7ee6d0058c0d1aa00ac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * 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-222-1/+9
| | | | | | | | | | | | | | | | | | 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>
| * Add check for thumb instruction setMichal Klocek2018-11-212-4/+25
| | | | | | | | | | | | | | | | | | We currently require thumb instruction set on arm to build internal ffmpeg. Task-number: QTBUG-71772 Change-Id: I43ed152a51f0dea97b800c868eb13a4e5e8e077e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix running thumb vs arm instruction set on yoctoMichal Klocek2018-11-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | On yocto CC/CXX export contains flags like -marm, -mthumb see https://lists.yoctoproject.org/pipermail/poky/2018-September/011497.html Fix builds for webengine and check also QMAKE_CC for flags, otherwise build ends up passing -marm and -mthumb flags at the same time. Change-Id: I76feb0eaf3bed8a6c3552db1bbf1a0809f03110a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Remove bogus line from configure.jsonMichal Klocek2018-11-211-1/+0
| | | | | | | | | | Change-Id: I83a7a38d574b353e7748a71d83183b75f6dc7c1a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Init the idle monitor on macOSAllan Sandfeld Jensen2018-11-211-0/+9
| | | | | | | | | | | | | | As the only platform macOS needs it initialized manually Change-Id: I922aea7e9f19abac6c1b46822d48646d68784014 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Clean-up coding style in content_utility_client_qtAllan Sandfeld Jensen2018-11-162-16/+22
| | | | | | | | | | Change-Id: I619874b4c90bc5f5d57c68c8a106ab686702ff12 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix GL context tracking when running in GPU-on-UI modeJüri Valdmann2018-11-271-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both Qt and Chromium keep track of the current GL context by using thread-local variables, and naturally they are completely unaware of each other. As a result, when a QOpenGLContext is made current, the previous gl::GLContext is not released, and vice-versa. This is fine as long as each thread uses exclusively either Qt or Chromium GL bindings, which is usually the case. The only exception is when the GL driver is considered thread-unsafe (QOpenGLContext::supportsThreadedOpenGL() is false), in which case we have to run all GL operations, including Chromium's GPU service, on the UI thread. Now the bindings are being mixed and both Qt and Chromium get quite confused regarding the current state of the surface. To get this to work we have to release the current QOpenGLContext before executing any tasks from Chromium's GPU service and the gl::GLContext afterwards. Since GPU service just posts tasks to the UI thread task runner, we'll have to instrument the entire UI thread message pump. Fixes: QTBUG-72017 Change-Id: Ibd72e3041d213217fd097dfb4272e49243e31e67 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Implement ContentGpuClient for WebEngineAllan Sandfeld Jensen2018-11-2410-22/+155
| | | | | | | | | | | | | | | | | | This is the way we are supposed to share a sync point manager with the content layer. Change-Id: I595caa863f8b9c8b4f4bc17df76211416a027a12 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Remove incorrect DCHECK in CompositorResourceTracker::commitResourcesJüri Valdmann2018-11-231-1/+5
| | | | | | | | | | | | | | Fixes: QTBUG-71869 Change-Id: I3e2d39eb6c3559f2a31c6b98f5f950183f2381d3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Merge "Merge branch '5.12' into dev" into refs/staging/devAllan Sandfeld Jensen2018-11-1622-52/+152
|\ \
| * | Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-1622-52/+152
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e