summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Fix build after qtdeclarative change - 9e3c46961aAllan Sandfeld Jensen2019-01-241-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We depended on another header including qopenglcontext_p.h Fixes: QTBUG-73224 Change-Id: Ifbd7e17cd62b08466ebbe4d2091c92e4091fc8a3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | Fix crash on exit with single processMichal Klocek2019-01-231-9/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shutting down the browser runner in single process mode requires the browser context to be present. Moreover single mode does not support multi browser context. For single mode move profile destruction to PostMainMessageLoopRun. Fixes: QTBUG-45722 Change-Id: I15b5aa17061b4dd7898d0ff9427fada44d2eff74 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* | | | Add support for client-certificate selection to QMLAllan Sandfeld Jensen2019-01-242-5/+31
|/ / / | | | | | | | | | | | | | | | Task-number: QTBUG-69363 Change-Id: I54d1df17d82bf2297f43762b0ba86a080bafee23 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Add in-memory client cert store implementationVijith Kini2019-01-239-23/+620
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt applications using webengine can now use a specific client certificate without affecting(or using) the native certificate store. It sounds useful for consumer applications where the application wants to identify itself to the server as the application and not as a specific user. Change-Id: Ib4fcdfd48e00051e3215f90be8701978902b1fbf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-224-10/+28
|\| | | | | | | | | | | Change-Id: Ib374079ded76e43d4b72f725bbf16fe353ef827e
| * | Remove download items internally when API objects are deletedAllan Sandfeld Jensen2019-01-214-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-211-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1812-66/+129
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * 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>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-1811-28/+122
|\| | | | | | | | | | | | | | | | | | | | | 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
| * Document and safeguard usage of custom schemesAlexandru Croitor2018-12-122-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * 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>
| * Fix input method updatePeter Varga2018-11-291-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Move printing operation to a new threadSzabolcs David2018-12-104-16/+18
| | | | | | | | | | | | | | | | | | | | | | 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-288-28/+69
|\| | | | | | | Change-Id: Idf2c89bebf5e09855d764808cac487bc4b76faaa
| * 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-1612-28/+91
|\ \
| * | Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-1612-28/+91
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e
| | * Merge remote-tracking branch 'origin/5.12.0' into 5.12Allan Sandfeld Jensen2018-11-161-14/+4
| | |\ | | | | | | | | | | | | Change-Id: Ie8d7348a1223ec92dfe06e579e0680c75012c260
| | | * Add missing refactoring for glxGetProcAddressMichal Klocek2018-11-131-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9ad3c7aa fixed regression, however refactoring which took place 9397251b is missing. Task-number: QTBUG-70696 Task-number: QTBUG-71742 Change-Id: I4ff3f5fbbd14996478299f51a3d766d2fa1a7017 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| | * | Reinstate skipping content/browser for jumbo-buildsAllan Sandfeld Jensen2018-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We are hitting OOM crashes on the CIs again. Change-Id: Ief97b83b26091136acf4988e555b331191ce8271 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * | Speculative fix for disable-pinch not workingAllan Sandfeld Jensen2018-11-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces logic from render_widget_host_view_android.cc to ignore pinch gestures when pinch is disabled. Fixes: QTBUG-70913 Change-Id: Ib88c423c248148afdb2d203f89ab90c63b32012c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * | Fix autoscrollingAllan Sandfeld Jensen2018-11-144-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were missing the connection between on begin frame and progressing auto-scroll. Change-Id: I651b35c031afedc9aeef1dc6a16547757b869633 Fixes: QTBUG-71370 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Fix compiler warnings in content_renderer_client_qt.cppKai Koehne2018-11-141-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | content_renderer_client_qt.cpp(216): warning C4138: '*/' found outside of comment content_renderer_client_qt.cpp(455): warning C4189: 'cdm_supports_persistent_license': local variable is initialized but not referenced content_renderer_client_qt.cpp(427): warning C4189: 'supported_codecs': local variable is initialized but not referenced Change-Id: Iee9bf8abe57c61b06b0cc2e059e7232b5b6e3d99 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>