summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Fix not working acceleration on MacMichal Klocek2020-08-053-1/+12
| | | | | | | | | Since 6ff79478a in base we no longer are able to query for 'cqlcontextobj' add helper call for CGLContextObj. Change-Id: Ie1992ab7a0e525c2c6b5f9a67ce354a493e993e8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Rewrite native context handling for QtShareGLContextMichal Klocek2020-08-054-101/+207
| | | | | Change-Id: Ie880978f2122528789d7ec23b24bb8259eee0fb8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Dump info about webenginecontextMichal Klocek2020-08-051-1/+33
| | | | | Change-Id: I96a64d83f6bb4ee7c6dfcc9be52ecc5f9378219b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rewrite glType detection a bitMichal Klocek2020-08-051-93/+71
| | | | | | | | Since 6ff79478 in qtbase there are no more natvie contex classes, so do not use those. Change-Id: I6ef277f4fbd889618a4848374ed76fbafc9451d7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move macOS surface format check to initializeMichal Klocek2020-08-041-68/+89
| | | | | | Change-Id: I08171340c8b5de3b38f17c95a70e3a8931394057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Support OpenGL over EGLMichal Klocek2020-07-302-4/+4
| | | | | | | This enables wayland with opengl contex. Change-Id: I4214cfaebb205c54394ef382cd58fbbcfdc5f1db Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devMichael Brüning2020-07-2432-173/+342
|\ | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/delegated_frame_node.cpp src/core/core_chromium.pri src/core/render_widget_host_view_qt.cpp Change-Id: I9387151e9647c87fc387095e7b6d8d66560cdf71
| * Convert native scancode on Windows to what Chromium expectsAllan Sandfeld Jensen2020-07-231-1/+8
| | | | | | | | | | | | Fixes: QTBUG-85661 Change-Id: I7cd8ed534d94d6be06f77b9b2d1779905655e772 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Share linking config between webenginecore and pdfMichal Klocek2020-07-231-53/+4
| | | | | | | | | | Change-Id: Ib06a0a1ec3372d483008cc0ac0ec211ec8316e0e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Move webengine-noexecstack to buildtoolsMichal Klocek2020-07-231-10/+0
| | | | | | | | | | Change-Id: I854034fd63c8847867fd7ec01d5c25781e7de5ef Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Replace Qt::MidButton with Qt::MiddleButtonEdward Welbourne2020-07-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | The latter has been the preferred name since Qt 4.7.0. (Pick back to 5.15 shall need to drop the test change, as the test was added to dev after it diverged from 5.15.) Change-Id: I3154ea1203e741cb337782d3374e02e15c5f209e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 005a338f169b485077c248358e1cde96d22ae506) Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * Fix mistake from 78-based adaptationsAllan Sandfeld Jensen2020-07-211-2/+5
| | | | | | | | | | | | | | | | The options only need to allow httponly, it doesn't set it, and we shouldn't even forward canonical cookies that were excluded on creation. Change-Id: Ieec45734938c07a50ac03aa113a02a907bce689f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Disable navigation on back/forward mouse buttons in Qt 5Allan Sandfeld Jensen2020-07-172-0/+10
| | | | | | | | | | | | | | | | Submodule src/3rdparty 809e16e4..840c8e5f: > Make navigation on back/forward mouse buttons optional Change-Id: I191f7781cf9b824b743b80a05a3e819a414ee546 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Add the cookie filter to URL requestsAllan Sandfeld Jensen2020-07-153-0/+52
| | | | | | | | | | | | | | | | | | | | Submodule src/3rdparty c91f4d20..809e16e4: > Add cookie filter to URL requests cookie headers > Use audio-manager app-name for MPRIS Fixes: QTBUG-85526 Change-Id: Icab26cad3cea8e2ee021a3e589f41bf0543d64fa Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Remove ProxyingRestrictedCookieManagerListenerQtMichal Klocek2020-07-151-39/+1
| | | | | | | | | | | | | | | | Cleanup after a34b3a4e Task-number: QTBUG-85526 Change-Id: I23fd5f504937efa44964546a1f4b095efd9ad65f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Make loading PDF view less racyAllan Sandfeld Jensen2020-07-141-0/+2
| | | | | | | | | | | | | | | | | | There was some kind of race between loading as a plugin and this redirect. Task-number: QTBUG-84340 Change-Id: I57ac8fcae0c1de98b1fd3013d2b5299c85547cc0 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Parse forward and back mouse buttonsAllan Sandfeld Jensen2020-07-132-1/+17
| | | | | | | | | | | | | | | | It appears we have support for it on all levels. Fixes: QTBUG-85360 Change-Id: I68d03931197a3b883a1909e96096000fb84925bf Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Remove the lieAllan Sandfeld Jensen2020-07-131-2/+1
| | | | | | | | | | | | | | | | | | This line of code just hided illegal cookie store changes from being observed by our API. Task-number: QTBUG-85526 Change-Id: I044221f70b7628bd727879f11f46bfefe75ca2ca Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Fix not working egl sync in compositor resource fenceMichal Klocek2020-07-092-6/+8
| | | | | | | | | | | | | | | | It seems this does not work already for a while. Add missing headers. Change-Id: I158519f69e2ce87fe6c84c03a6ac2ce178c20206 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Add pipewire detection and supportAllan Sandfeld Jensen2020-07-082-0/+17
| | | | | | | | | | | | | | | | Used for screensharing on wayland Fixes: QTBUG-85309 Change-Id: I7ec61611bb9e3f318a6a5bd3a43212f391766628 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Remove some dead codeAllan Sandfeld Jensen2020-07-062-34/+0
| | | | | | | | | | | | | | Was not used Change-Id: Ic87e35c12c8d6454ed10ca83dfba9ea732919be4 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Create an OpenGL 4.1 CoreProfile on macOS unless requested otherwiseMichael Brüning2020-07-064-0/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium has blacklisted OpenGL version prior to 4.1 on macOS. To re-enable hardware acceleration in WebEngine on macOS, set the default surface format to a 4.1 CoreProfile before creating the shared OpenGL context, unless the surface format has been set to a specific other version. According to https://support.apple.com/en-us/HT202823 , the newest Mac that only had support for OpenGL 3.3 was released in Mid 2011, so this should be okay on the majority of machines. If the user requests an OpenGL 3.2 profile, it will also work as the Cocoa QPA plugin enables sharing between 3.2 and 4.x contexts. If the surface format has been requested to be a version lower than OpenGL 3.2 or not a core profile, warn the user about the lack of hardware acceleration. To ensure that we have actually created native contexts for the requested profile and not a context backed by the Apple Software Renderer, we query the context native renderer ID using Cocoa methods. Task-number: QTBUG-81693 Task-number: QTBUG-75262 Change-Id: I94e2e9913c8481fa8db37eb8381a89769026c919 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Reject permission request with invalid originKirill Burtsev2020-07-031-0/+10
| | | | | | | | | | | | | | | | | | At least Push API is supposed to be disabled in incognito mode, which results in permission request with empty origin. Fixes: QTBUG-85116 Change-Id: Ie587013d135bf92a84779e6da87e12374f99bfdd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * [macOS] Add utf-8 character set meta tag for HTML clipboard contentMichael Brüning2020-07-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | This prevents unicode characters from becoming garbled when pasting the clipboard content into an application that uses the HTML content instead of the text data. This mirrors the behavior of Chromium's clipboard adaptation for macOS Fixes: QTBUG-75391 Change-Id: I033819a2caf3410509e90c9bc38c9830d184149d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Set application name based on source application nameAllan Sandfeld Jensen2020-07-022-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to tell the difference between multiple applications using QtWebEngine. Submodule src/3rdparty 15a42873..87e5a52b: > Pass through a new application name argument to utility processes > Fix libjpeg_turbo for ARM32 > Add missing include in certificate net log Fixes: QTBUG-85363 Change-Id: Ib5426d2e431eb3032f76270885c9cf2d83a75ac8 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Avoid empty context menu in PDF viewerSzabolcs David2020-07-021-0/+2
| | | | | | | | | | | | | | Simply add some page navigation items. Change-Id: I6da3ff1c1e56f0c3fbbd6eb5cd3b77f32e850862 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Replace qgetenv with qEnvironmentVariableAllan Sandfeld Jensen2020-06-304-9/+9
| | | | | | | | | | | | | | | | | | This preserves unicode characters in the environment variable on Windows. Fixes: QTBUG-85054 Change-Id: I3352cc3db4ce8d7b9b352c1634e3239954780618 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Fix double click event on flash contentTamas Zakor2020-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | The blink::WebInputEvent::kMouseUp event sets the WebMouseEvent::click_count to zero before the blink::WebInputEvent::kMouseDown event handling is completed. We need to keep the click_count value during mouse-up event. Fixes: QTBUG-84660 Change-Id: I2494f56b51674413d7c8b324c138abcb7c0f9186 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Allow force enabling QUICAllan Sandfeld Jensen2020-06-291-1/+4
| | | | | | | | | | | | | | | | Still disabled by default though Fixes: QTBUG-72497 Change-Id: I81f270f08f9e4941a0afd34a4cb7ac7cb5320a33 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Return valid path in Profile::GetPath() for incognito profilesAllan Sandfeld Jensen2020-06-296-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | Parts of Chromium depends on it for temporary directories it creates. This also changes the logic of depending on it being empty as indicating an in memory profile, so it required a bit of cleaning up. Note this does subtly change the return value of off-the-record profiles. Task-number: QTBUG-62957 Change-Id: Iec6e24556128c515fce27803171a766b8a9d92e3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Switch from binary JSON to JSON for QWebChannel messagesJüri Valdmann2020-07-234-28/+17
| | | | | | | | | | | | | | | | | | | | | | Qt's binary JSON has been deprecated in favor of CBOR. However, since we have to convert to/from JSON anyway in order to pass messages to/from Chromium, there's not much point to use a binary intermediate format in the first place. So, let's just use JSON. Fixes: QTBUG-85688 Change-Id: I9c3e4608bee38d460eaf87843c339d5037ed9888 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Replace Qt::MidButton with Qt::MiddleButtonEdward Welbourne2020-07-221-3/+3
| | | | | | | | | | | | | | | | | | | | The latter has been the preferred name since Qt 4.7.0. (Pick back to 5.15 shall need to drop the test change, as the test was added to dev after it diverged from 5.15.) Pick-to: 5.15 Change-Id: I3154ea1203e741cb337782d3374e02e15c5f209e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Stop re-enabling warnings disabled by ChromiumJüri Valdmann2020-07-211-6/+0
| | | | | | | | | | | | | | Adding -Wall after -Wno-x will undo the -Wno-x. Change-Id: I223b40e495d762d2420b519f080792bca8e71bdd Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Use QList instead of QVectorJarek Kobus2020-07-1513-30/+28
| | | | | | | | | | | | Task-number: QTBUG-84469 Change-Id: I666a060351f73783e15e3f96884c9393a5cd7e46 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Delete copySurface method from RWHVQDelegateJüri Valdmann2020-07-151-1/+0
| | | | | | | | | | | | | | Not used anymore. Change-Id: I234012c9c611c0dce4d1d2f83e9222e60207f630 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Implement more Compositor methods for software modeJüri Valdmann2020-07-155-24/+28
| | | | | | | | | | | | | | | | Add implementations of devicePixelRatio, textureSize, hasAlphaChannel also for software mode. Rename textureSize to just size. Change-Id: I5c515e4fed3330e0ecbfc17e7ec092245a13e619 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix random indentation of setupProxyPacAllan Sandfeld Jensen2020-07-151-8/+10
| | | | | | | | | | Change-Id: I05563a2a58eb77860bed065723a2e5274cf6efb6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Update dependencies on 'dev' in qtwebengineAllan Sandfeld Jensen2020-07-131-6/+7
| | | | | | | | | | | | | | | | Reenabling quickcontrols2 and webchannel now that they are in sync again. Change-Id: Ie072511d9be9a722f34b913c835f54f73704fc75 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix ScopedGLContextChecker with QTWEBENGINE_DISABLE_GPU_THREAD=1Jüri Valdmann2020-07-074-15/+18
| | | | | | | | | | | | | | | | | | | | | | The ScopedGLContextChecker, which deactivates the current QOpenGLContext when executing Chromium tasks, is currently enabled only if QOpenGLContext::supportsThreadedOpenGL() is false. But the gpu thread can nowadays be disabled also with an environment variable and ScopedGLContextChecker needs to take this into account. Change-Id: I012524538b49b033ed053dbc41ed4350db916542 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Move scenegraph handling out of coreJüri Valdmann2020-07-0617-597/+517
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace Display{Producer,Consumer,FrameSink} with the new classes Compositor and Compositor::Observer. The Compositor subclasses are implemented by the OutputSurfaces, replacing DisplayProducer in this role. Unlike DisplayProducer, the new classes do not use QtQuick scenegraph types, but rather give access to the software QImage or OpenGL texture directly. The connection to the "other half" is simplified by replacing DisplayConsumer with Compositor::Observer, which is no longer implemented by RenderWidgetHostViewQt, but directly by its delegates in the quick and widgets libraries. RenderWidgetHostViewQt now only provides the delegate with a Compositor::Id which is used to connect the corresponding Compositor and Observer. The delegates are responsible for generating QtQuick scenegraph nodes from the information provided by the Compositor subclasses. Behavior with software and old OpenGL scenegraph backends is unchanged: both continue to work. As for the RHI scenegraph backend, the code here is correct but nonetheless not working: changes are needed in qtbase to make RHI use the global share context for its OpenGL context. Fixes: QTBUG-78682 Change-Id: I837da8860a18ec366ed33f6ecc44c147245e1101 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adapt to newer dependenciesAllan Sandfeld Jensen2020-07-062-5/+6
| | | | | | | | | | | | Change-Id: I495880f56fbc10d8f332f26101f8a25c2a1c5631 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2020-06-2915-80/+190
|\| | | | | | | | | | | | | Conflicts: src/src.pro Change-Id: I03c260ba676296f93d8137e79b46f3978f5f41ef
| * Initialize the extension bindings in g_driver_eglRomain Pokrzywka2020-06-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | This step is done in GLSurfaceEGL but missing in GLSurfaceEGLQt. The extension bindings in g_driver_egl are checked, among other things, when initializing DXVAVideoDecodeAccelerator, so we need them to enable hardware-accelerated video decoding on Windows with ANGLE. Change-Id: I6a650a0aafe3d4f870101d33d2117427c22304e7 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Fix recentlyAudible signalAllan Sandfeld Jensen2020-06-231-4/+1
| | | | | | | | | | | | | | | | It is now emitted with a different enum flag value. Fixes: QTBUG-85118 Change-Id: Ic3e4807d451a0a53bda17e0b8d43d906cb315fc9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Detect the presence of host node.jsAllan Sandfeld Jensen2020-06-232-0/+21
| | | | | | | | | | | | | | | | Allows building with or without it. Fixes: QTBUG-83729 Change-Id: I88d784e3230208e1268491c6ae0a4ebf1543aac8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Fix compiler warnings in file_picker_controller.cppTamas Zakor2020-06-191-1/+1
| | | | | | | | | | Change-Id: I6d160f90e7693d15cb495d38788c57b47a1fe548 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Add some info when project is misconfiguredMichal Klocek2020-06-121-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We support calling make on not configured properly qtwebengine and qtpdf. This avoids issues when there is no make file for top level build and user does not understand why. To do that we 'share' error messages between configure and make calls. However to avoid duplicating tests and error messages 'configure test conditions' have to match 'error messages' in support.pri. In case we miss some error message just ask for reporting the bug, instead of still trying to build the thing. Change-Id: I23320afa5174b5f33871c8cd8739ceea8e3a169d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Split errorChecks for webengine and pdfMichal Klocek2020-06-031-10/+18
| | | | | | | | | | | | | | Separate error checks, so qtpdf can have own dependencies. Change-Id: I9e538b875fe67448497f10dcd45c83782d98da2d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Update devtools loadNetworkResource to match latest ChromiumAllan Sandfeld Jensen2020-06-031-5/+21
| | | | | | | | | | | | | | Adds handling of file and webui schemes. Change-Id: Idd9f7dd79cc7b327dab789e369baf00772820cc6 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Clear previous values from UserScript::parseMetadataHeaderJüri Valdmann2020-05-291-0/+5
| | | | | | | | | | Change-Id: I80592eb6a2bc49cc6366725c77d385827619f6e5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>