summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix for null VariationsIdsProvider access crashAnu Aliyas2025-03-271-0/+6
| | | | | | | | | | | https://chromium-review.googlesource.com/c/chromium/src/+/5642198 change requires the valid VariationsIdsProvider. Otherwise leads to crash when adding XClientData header. Change-Id: I6d1b98b5b9f46ab10e162c9be929c7169e343292 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a4855d90dcc5c685ff8150e3c363bba43c509933) Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update ChromiumMichal Klocek2025-03-101-0/+0
| | | | | | | | | | | | | | | Submodule src/3rdparty 689e8302..85693496: * [backport] 0-day [2/2] Disable setting primitive restart for WebGL in the cmd decoder * [backport] 0-day [1/2] Move WebGL primitive restart state setting to the GPU process * [fixup] Qt GN Integration * [fixup][android] Support android build for qtpdf * [fixup] Fix QtWebEngine build on Windows Fixes: QTBUG-134562 Pick-to: 6.9 dev Change-Id: I2848b37d72bbdf8eaabd3b295ab748b50c79289c Reviewed-by: Anu Aliyas <anu.aliyas@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update ChromiumMichal Klocek2025-03-042-1/+1
| | | | | | | | | | | | | | Submodule src/3rdparty 66a1f2a3..689e8302: * [backport] CVE-2025-0995: Use after free in V8 * [backport] Dependecy for CVE-2025-0995 * [Backport] Security bug 396481096 * [fixup] Fix QtWebEngine build on Windows Fixes: QTBUG-133879 Fixes: QTBUG-134119 Pick-to: 6.9 dev Change-Id: I24c5023313302b2c303c3b9d02e4a8d65961911a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update ChromiumMichal Klocek2025-03-032-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Submodule src/3rdparty cc3e3122..66a1f2a3: * [fixup] Qt GN Integration * [fixup] Fix jumbo build * [Backport] CVE-2024-11477 / Security bug 383772517 * [Backport] CVE-2025-1426: Heap buffer overflow in GPU * [Backport] CVE-2025-1006: Use after free in Network * [Backport] CVE-2025-0999: Heap buffer overflow in V8 * [fixup][win-arm64] Add configuration files for ffmpeg to support MSVC on ARM * [fixup][win-arm64] Add configuration files for ffmpeg to support MSVC on ARM * [Backport] CVE-2025-0998: Out of bounds memory access in V8 * [Backport] CVE-2025-0996: Inappropriate implementation in Browser UI * [Backport] Security bug 379259821 (5/5) * [Backport] Security bug 379259821 (4/5) * [Backport] Security bug 379259821 (3/5) * [Backport] Security bug 379259821 (2/5) * [Backport] Security bug 379259821 (1/5) * [Backport] Security bug 379418979 * Fix compilation issue with ASAN enabled * [fixup][ffmpeg] Fix building with system ffmpeg * [Backport] Security bug 378917565 (2/2) * [Backport] Security bug 378917565 (1/2) * [Backport] Security bug 378014601 * [Backport] Security bug 359992017 * [Backport] Security bug 379776579 (2/2) * [Backport] Security bug 379776579 (1/2) * [Backport] Security bug 390465670 * [Backport] CVE-2025-0445: Use after free in V8 Fixes: QTBUG-133878 Fixes: QTBUG-133880 Change-Id: I74d0a25e6749fa050e56e12bf7fa9c28031c007f Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Fix deadlock on WebEngineContext destructionPeter Varga2025-03-011-0/+7
| | | | | | | | | | | | | | | | | | | viz::Display is destructed with the UI compositor (RenderWidgetHostViewQt::m_uiCompositor). The destruction should be finished on the Browser thread when cleanupVizProcess() gets called in WebEngineContext. However, some of the viz::Display members' destructors (e.g. viz::SkiaOutputSurfaceImpl and viz::DisplayCompositorMemoryAndTaskController) started destroy tasks on the GPU thread. These tasks have to be completed before we try to shutdown threads (BrowserMainLoop::ShutdownThreadsAndCleanUp()) otherwise stopping the VizCompositor thread will cause a deadlock. As a workaround, post a new task on the GPU thread and wait for it to be completed. Change-Id: Ie217720008dae8a7b84adb603479b755dd79f5f3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 27216f1d15056e36d90c7cffb2ed3773371a6b2c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add clang-cl toolchainMichal Klocek2025-03-011-0/+80
| | | | | | | | | | | | | | | | Fix clang-cl compilation, this is just brings back clang-cl support, however this is just a temporary toolchian which assumes clang-cl.exe in PATH variable. It uses same environment files as msvc22 toolchain. Note all tolchains are going to be in-source in follow up patches. Change-Id: I7ce592266aa008460d7a1ca66042faa517b45d56 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a765d8f8603087388fca15c0d6bca408c4810181) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix deadlock fixAllan Sandfeld Jensen2025-03-013-46/+11
| | | | | | | | | | | Avoid frozen rendering using a read/write lock which doesnt block the two threads each only needing a read lock. Fixes: QTBUG-134209 Change-Id: I0e73f8ba1b4236c4b280d9b6c28b7fed0c45aaa7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 31151b113ff5a9706a426e6484c534b55202402a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix -opengl es2 buildPeter Varga2025-02-262-7/+7
| | | | | | | | | | | | | | Guard new GLXHelper usage after a3604e0a4 Disable dma-buf and GBM for nvidia with GLX As a drive-by, add more QT_CONFIG(xcb_glx_plugin) guard where OzoneUtilQt::usingGLX() is called to check if Qt GLX integration is available. Change-Id: I45df5e235f7f98910eedd77e2480d41561105807 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a47656a53b445a61076719aa0924fb7a8fbc71c5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make MotionEventQt assert more informativePeter Varga2025-02-261-4/+26
| | | | | | | | Pick-to: 6.8 Change-Id: I1a91b8fa3004d70f2467085f198d8eaa0ecfdc10 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 254d7db17d09b6c567a3c22567ba322ff952c358) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix possible deadlock in vulkan rendering backendAllan Sandfeld Jensen2025-02-263-3/+35
| | | | | | | Change-Id: Iaac937820a64f2f40f52ff762f3a7145d5b46bb5 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 24084d6424f86713f2e6e505428c8562a57d0578) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix importing memory object for rendering without NativePixmapPeter Varga2025-02-253-14/+26
| | | | | | | | | | | | | | | | This fixes rendering with newer Nvidia drivers on Linux. - Make memory object dedicated to match Vulkan allocation - Set tiling of the GL texture to match VkImage tiling - Make the TexStorage command non-DSA to uniform GL calls Amends 8ce04357b4ce39b8c4c2243991eae70f78f9b61b Pick-to: 6.8 Change-Id: I43e953412acf6d39b67dcd8af02aac4003fc5c8e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io> (cherry picked from commit 558bbf10544c9c96cde4ef3c7923c8b3bb8aa237)
* Fix building with opengl es2 configMartin Negyokru2025-02-252-3/+5
| | | | | | | | Qt's gles2 config does not support GLX. Change-Id: I533ce110892c6efa1bd8ab9a02ac55803a5c7159 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b17afb77ee3429785d57ee070df53d2dd9100f9e)
* Detect and use Widevine libraries shipped with Microsoft EdgeKaloyan Chehlarski2025-02-251-9/+41
| | | | | | | | | | | | | | | Add detection for Widevine libraries that come by default with a Windows installation. The libraries may be found both in Microsoft Edge's installation folder, and also inside the WebView2 data folders inside the System32 folder. Also modifies the getters for system folders on Windows, as their docs state that "SHGetSpecialFolderPath is not supported". Change-Id: I98ebf1f6f801f0ea32be6fd3653c9837f2827592 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 69d24b3386c1337fb1a59889477d156f88b26ab7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix Widevine path detection on Windows On ARMKaloyan Chehlarski2025-02-251-18/+27
| | | | | | | | | The paths were hardcoded to x32/x64 only. Change-Id: I5ee72dfcf4af3a15fab188afa941fd0a184f0706 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 5019d240041cf29b9c47cfedd94e89d2da1b1b87) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disable dma-buf and GBM for nvidia with GLXPeter Varga2025-02-253-1/+11
| | | | | | | | | | | | | | | It is already disabled with EGL. Checking the existence of a GBM device is just not enough. It is possible to create GBM device and buffer with nvidia driver but it will not work. Pick-to: 6.8 Change-Id: I3806594371d3e266d499bdc396c8f2a4ca17580d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io> (cherry picked from commit a3604e0a41b586d1f32865d9c60003ed31e46884) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add WebEngineContext::isGbmSupported()Peter Varga2025-02-253-17/+52
| | | | | | | | | | | | | | | Factor GBM support detection out to avoid repetitive Nvidia checks. Also add QTWEBENGINE_FORCE_USE_GBM environment variable to be able to force disable/enable GBM and dma-buf code paths for debugging purposes. Setting the variable to 0 force disables GBM, setting any other integer value force enables it. Pick-to: 6.8 Change-Id: I39fc0161467a6a8d86dd9f380be3bfb2018aa4e6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 284d269eda53575d681c5d9f91bc934cf19b2f07) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QWebEngineDownloadRequest::pause()Szabolcs David2025-02-257-21/+19
| | | | | | | | | | | | | | | | Calling pause() (or any method which causes state update) in a directly connected signal handler of a download request causes an assertion fail in DownloadItemImpl::UpdateObservers() because it is protected from nested updates. Use QTimer::singleShot() to detach download requests and updates from the direct code path. Add auto test to check if pausing and resuming a download work. Pick-to: 6.8 Change-Id: Ia8c977a626fd0d39ca51df42984381a75cca2101 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 1ffe3392eae1e70f76d621c8a4ee1b20feb004f2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix whitespaces in webenginecontext logPeter Varga2025-02-251-1/+2
| | | | | | | | | | | Amends 900ae370f5d6c06a29b08fd94523d30bdc089b88 Pick-to: 6.8 Change-Id: Ib451458eb101fc9f96101620df8bc46e06f4ffad Reviewed-by: Moss Heim <moss.heim@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b6cb444fbd206a27ab2d590158f7693e7247f3ca) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Replace QStringLiteral with shorter u""_s notationPeter Varga2025-02-219-35/+50
| | | | | | | | Pick-to: 6.8 Change-Id: I6d45505c808a48a1ea52ddbd39e74ada4c29136d Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit dbb7830eb9ed95ab9c2f105b850586a9a517cf16) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QL1SV where QString conversion is not neededPeter Varga2025-02-214-10/+9
| | | | | | | | Pick-to: 6.8 Change-Id: I1e819d5f570eb52d703691b6e7bd0de29adc9318 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 676eea8bbe4c3c943058561e4ceb02800fd6d76e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove more unnecessary QString conversionsPeter Varga2025-02-212-5/+7
| | | | | | | | | Pick-to: 6.8 Change-Id: Ifb8e87cb5e49d71d7d8a61f99305d86a986aa032 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 100682f8954ba1de309976cd54c86982f5130ae7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Optimize removing quality values from Accept-Language stringPeter Varga2025-02-211-5/+5
| | | | | | | | | | | | Also add auto test for QWebEngineProfile::setHttpAcceptLanguage() to validate if argument with quality values is parsed properly. Pick-to: 6.8 Change-Id: Ide3acfe93bfe2d4c6afd76bd7239f471942ea467 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 9164704c9a3b89c33f0c1cade84c4a11740c1833) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QSL where the string is converted to QStringPeter Varga2025-02-212-2/+2
| | | | | | | | Pick-to: 6.8 Change-Id: I14bf140ba6dbfdedf1b010070ca8d92078fee8ea Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit c93e694728cf0661009851d4c3e547dd609924eb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Concatenate strings with QStringBuilder instead of QString::arg()Peter Varga2025-02-212-4/+4
| | | | | | | | Pick-to: 6.8 Change-Id: I07423cdaf68e7a7333e270f25983584655467e85 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit df367e1ffa8c166016dff2f1ec5b547033a9b5ba) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QStringList::append() where the string can be moved into the listPeter Varga2025-02-216-39/+45
| | | | | | | | | | | | | As a drive-by, refactor web_engine_library_info.cpp's fromEnv occurrences to use them in the if blocks only and make the code a little bit more readable. Pick-to: 6.8 Change-Id: Ib3ee6390003bc6e196398979d992e71b7fc50a8a Reviewed-by: Moss Heim <moss.heim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 26c43ef73cf6a5184ded71d173224e1cd733c90f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make QString and QByteArray strings constants if not modifiedPeter Varga2025-02-2117-36/+38
| | | | | | | | Pick-to: 6.8 Change-Id: If6c704cf5dada72d2c5c069fcbbcfea16af845ac Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 2ccca2f0663e866b94fd1d7f0195ebff280583fb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix download behavior when network error occursSzabolcs David2025-02-191-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | We assume that DownloadManagerDelegateQt::DetermineDownloadTarget() is always the starting point of a download request, but there are special cases when a download item needs more than one target determination (for example when the server is being killed during a large download, Content API tries to check the target again before reporting the error). Handle this case by not decreasing m_currentId and preventing the manager class adding itself as an observer of the same item multiple times. Due to the weird internal state of DownloadItem (INTERRUPTED_TARGET_PENDING_INTERNAL) it still counts as an in progress download and its functions (e.g. Resume()) are inactive. Don't expose this state to our users, just re-use the already provided target path again and they will be informed about the issue in the next OnDownloadUpdated(). Pick-to: 6.8 Task-number: QTBUG-132479 Task-number: QTBUG-132473 Change-Id: Id8d39881b9225d76456edec150035e4331e752c7 Reviewed-by: Anu Aliyas <anu.aliyas@qt.io> (cherry picked from commit 56fbb0fa569287ab00538fbefd6abefe05c3141d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Add WebEngineDriver source directory to documentation buildTopi Reinio2025-02-191-0/+1
| | | | | | | | | | | | | | | While there is no documentation sources to parse there, the Chromium code attribution script uses it as the output directory for the generated 3rd party licenses. Add the directory to make QDoc parse the generated output. Fixes: QTBUG-133495 Pick-to: 6.8 6.5 Change-Id: I06643163e1b7791664afcfead90a91b65d3039af Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io> (cherry picked from commit d34d887f271df107ff0ec668cf85de149feeae6d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Warn when PdfDocument.source can't be opened; add note to docsShawn Rutledge2025-02-191-1/+10
| | | | | | | | | | | | | | | | | | When PdfDocument is instantiated in some QML file that comes from application resources, it can be surprising when giving a plain file path to the source property that it tries to resolve it as a resource URL instead of a filesystem URL. But this behavior is consistent with how we handle URLs in other components, such as Image; and Image also generates a QML warning if the file cannot be found. Followup to 3159ac9ff7edf0eea93fa8331ea6cb8abc201ca2 Pick-to: 6.8 Fixes: QTBUG-131841 Change-Id: I8fb66b321406e14c88ff1eb253d46742c0c99b5a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 8c07478a3b1d5eac8db3df0144e824fd0263f9ef) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix source file path reported in "js" logging categoryPeter Varga2025-02-141-1/+1
| | | | | | | | | | | Also add auto tests for validating javaScriptConsoleMessage() arguments. Pick-to: 6.8 Change-Id: Ife6a2db66898a15071b6f8d082195794f2f45e27 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit ef4e9a07bda2e676a02435080355be30dc0abf09) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Do not assign the first part of string in case of concatenationsPeter Varga2025-02-142-3/+4
| | | | | | | | | | This may avoid unnecessary QString allocations. Pick-to: 6.8 Change-Id: I9b1c2d3ce06c6798f6b777660f897c02deb8fbfd Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 12f8f37e1a81fd9dcb5c2925e5a9b5e0df500ad1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qwebengine_convert_dict: Avoid to construct QString for a characterPeter Varga2025-02-141-2/+2
| | | | | | | | Pick-to: 6.8 Change-Id: Icd44c96715358c92f21e82e42352e58c3c8bc4d7 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit cb8527103f0f21155694345e75ed11afd7aeb8db) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Perform the focus check earlierAnu Aliyas2025-02-141-1/+2
| | | | | | | | | | | | | | | | | While loading URLs, QtWebEngine will remove the old widget from the layout and then add the new widget. When hiding the old widget from the layout, it loses focus. As a result, the focus is not set to the new widget. Modified the code to check whether the old widget has focus before it is hidden. Amends e227bbddbfc03c45735978f5b83994235225569a Fixes: QTBUG-133649 Pick-to: 6.8 Change-Id: Iac4b1317ed469bfa32e18f0e18361a2279b77cf6 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io> (cherry picked from commit c8f8749e8810e33396b1dbf7f65e3b58f7b8be39) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove unnecessary QString conversionsPeter Varga2025-02-146-8/+8
| | | | | | | | | | | Some of them fix compiler warnings. Pick-to: 6.8 Change-Id: I93a605090567ae9cd2a101d83eeaac88f39b9ffa Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit ecb4782cbc058047068603f41140fe3e28e7d9a3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "[CMake] Treat QtWebEngineProcess as app target"Michal Klocek2025-02-111-11/+30
| | | | | | | | | | | | | | | | The new target breaks debug_and_release bulilds as QtWebEngineProcessd is no longer compiled. Alternative I guess would be to remove QT_APP from qt_internal_add_executable. This reverts commit d73e99f59cd163e1c99a3e45e9f7050922292d2a. Change-Id: I16d8a6c54868dfb30ea572865223223050c6a45f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io> (cherry picked from commit 80a55b764ad593d1c3ec382b8adcadcd141fe69d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2025-02-1112-38/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Also made a manual scan to update the patch to 6.10. Change-Id: Ic612e11dce9180f5e3e81b377985332e6f26bacb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit ef9a47faafc047e930988b934069c9a99ca2c870) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Minor. Add disable nocompile tests as gn argMichal Klocek2025-02-112-0/+2
| | | | | | | | | Small clean up of gn integration patches. Change-Id: I27c8806cf29d2b74541ed2bc523871acb1b5ec0f Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io> (cherry picked from commit 79cf8528011da0bea5493afd6d951fc45f339e89) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update ChromiumMichal Klocek2025-02-112-1/+1
| | | | | | | | | | | | | | | | | | | | Submodule src/3rdparty 502be559..cc3e3122: * Merge remote-tracking branch 'origin/upstream-master' into 130-based * Readd node rollup files that were lost * Merge remote-tracking branch 'origin/upstream-master' into 130-based * BASELINE: Update Chromium to 130.0.6723.192 * [qtpdf][gcc-9] Gcc 9 compile support * Disable DCHECK in property_tree.cc, layer_tree_impl.cc * [fixup] Qt GN integration * [fixup] Support mingw builds for qtpdf * [fixup] Support android build for qtpdf * [Backport] Security bug 389330329 * [Backport] CVE-2025-0762: Use after free in DevTools Change-Id: I22f092a2fc3aadd6fd9d62a41e4a9b0dc8c22f21 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 5cc911fe61dd8bbf050524444e2a8caea578cda6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix documentation issuesTopi Reinio2025-02-113-5/+7
| | | | | | | | | | | | | | | | | | | | | | PdfStyle.qml: (qdoc) warning: Unknown base 'QtObject' for QML type 'PdfStyle' Fixed by introducing a doc dependency to `qtqml`. qwebenginenewwindowrequest.cpp: (qdoc) warning: Invalid QML property type: QUrl (qdoc) warning: Invalid QML property type: QRect Replaced with QML types (url, rect) instead. qwebenginewebauthuxrequest.cpp: (qdoc) warning: Can't link to 'WebEngineWebAuthUxRequest.WebAuthUxState.CollectPin' (qdoc) warning: Can't link to 'WebEngineWebAuthPinRequest::reason' Change-Id: I313dddba6a374e65c23d371437d0fb148374bd2c Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io> (cherry picked from commit 5f976f185d3ead42e1dbb028deca60a2cfc0b9c6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Assume that the serialized ClipboardFormatType can be in UTF-8 formatPeter Varga2025-02-111-3/+7
| | | | | | | | | | | | | | | We can't be sure if the serialized type is a Latin-1 string. Use QString::fromStdString() instead of QString::fromLatin1() for conversion. Other similar values are also expected to be in UTF-8, for example ClipboardFormatType::GetName(). Pick-to: 6.8 Change-Id: I60612c5cdd98fa3f5ad2e4455d4c91bca504d5d6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b878eb322c6e4e45a9cfae97dcd264c5a9fecdcc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickWebEngineProfile: make the new ctor explicitMarc Mutz2025-02-111-1/+1
| | | | | | | | | | | | | | A QString is a not a faithful representation of a QQuickWebEngineProfile, so the constructor should be explicit. Found in API-review. Amends d472a95b3b2e7783ab1c42a5fb6406f7eebf1c60. Change-Id: I8f9091933bd0ef56c59315c2e6247e780fa7dbf6 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit b185ef73aa892c96a2472dc8bc5ea77b2f0eab03) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Various typo fixesKaloyan Chehlarski2025-02-105-10/+10
| | | | | | | Change-Id: I3255a89539d23393ca1d0d7ebc440fe7e088d859 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 4d48b5bdee980387f3d335080f842f4f013ff33e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix Widevine path detection on ARM macOSKaloyan Chehlarski2025-02-091-4/+8
| | | | | | | | | | | | | The path to the Widevine CDM plugin on macOS was hardcoded to where it's located on x64 machines, which led to DRM content not working on ARM-based machines. Fixes: QTBUG-133558 Pick-to: 6.8 Change-Id: I723033dfd7d011b1d8635fb88549c7fd58331856 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b13fd82027b73bc4addab727f9fa818d65c1dde0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Generate SBOM for Chromium dependenciesMoss Heim2025-02-093-2/+22
| | | | | | | | | | | | | | | | | | | | | | This commit adds CMake tooling for generating SBOM documents covering Chromium dependencies. It hooks into our existing add_ninja_command() calls, so any top-level target built in Chromium build trees (convert_dict, QtPdf, etc.) is covered. There is also a wrapper script for the newly written sbom.py in Chromium, like we have a wrapper for licenses.py. It is designed to be called once per Pdf / WebEngineCore, passing in all the gn-specific build targets for each module. This is in an experimental state, and bugs should be expected especially with multi-config and Windows builds. Task-number: QTBUG-131377 Change-Id: I792a460b86e1b79d0b32838b7e1303bc8bc4e25b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit c6b93f4f638ada62c5e9257964387d303efd7be6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Limit required compile time libs for QtPdfMichal Klocek2025-02-091-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Do not require some features as they are not used anyway by QtPdf otherwise they will require extra libs installed on system to compile compared to QtWebEngine. Moreover, some features fire pkg-config and report errors when it fails. We explicitly use AGG renderer for pdfium instead of skia, this allows further drop of required dependencies. For glibc check we can drop as we check for specific version due to sand-boxing in qtwebengine. Make build error and warnings more compact. Works with static Qt builds now. Fixes: QTBUG-127109 Pick-to: 6.8 Change-Id: Ic1fe7fb460481f9ae301a33bd44d0e5c3a6815c2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 7381b9926aa1c5b5e1ddda8d2a79a3d1d233571a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Depend sme and sve support on gcc versionAllan Sandfeld Jensen2025-02-091-2/+11
| | | | | | | | | SME requires gcc 14, SVE gcc 12. Change-Id: I384a96fb089c508fe7899007d0dc6c586b7e0fd5 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 565cc867090e649d081d08479d4a058eb0ca9a26) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Re-enable libyuv neon on newer gccAllan Sandfeld Jensen2025-02-091-2/+7
| | | | | | | Change-Id: I40afca14596f544336af67daa292bef217caed03 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 029d7186290113a54b923b176062178e105a96d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Set rtc_use_h264 to true againAllan Sandfeld Jensen2025-02-091-1/+1
| | | | | | | | | | | | Enables H264 on Windows with proprietary codecs. Pick-to: 6.8 6.5 Task-number: QTBUG-117478 Change-Id: Ie46fcce555fac751e7eb5e90c0e079462dcadc0c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Kaloyan Chehlarski <kaloyan.chehlarski@qt.io> (cherry picked from commit 4a43f458ee9971aca82c1b28586be58f88ce8a8b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update ChromiumMoss Heim2025-02-091-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Submodule src/3rdparty 71353f2c..502be559: * [Backport] CVE-2024-11117: Inappropriate implementation in FileSystem (2/2) * [Backport] CVE-2024-11117: Inappropriate implementation in FileSystem (1/2) * [fixup][msvc22] IWYU adding missing includes * [fixup] Add minimal webrtcdesktopcapture api for hangout services extension * Fix building with system libvpx * [fixup] Add SBOM generation script * [Backport] Security bug 373684419 (2/2) * [Backport] Security bug 373684419 (1/2) * [Backport] Security bug 385386138 * [Backport] CVE-2025-0612: Out of bounds memory access in V8 * [Backport] CVE-2025-0611: Object corruption in V8 (2/2) * [Backport] CVE-2025-0611: Object corruption in V8 (1/2) * [Backport] Security bug 374739202 * [Backport] CVE-2025-0448: Inappropriate implementation in Compositing * [Backport] CVE-2025-0447: Inappropriate implementation in Navigation * [Backport] CVE-2025-0443: Insufficient data validation in Extensions * [Backport] CVE-2025-0441: Inappropriate implementation in Fenced Frames * [Backport] CVE-2025-0439: Race in Frames * [Backport] CVE-2025-0438: Stack buffer overflow in Tracing * [Backport] CVE-2025-0437: Out of bounds read in Metrics * [Backport] CVE-2025-0436: Integer overflow in Skia * [Backport] CVE-2025-0434: Out of bounds memory access in V8 Change-Id: Idae78dd4efb21e1f3800e3f55fc7831639013477 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit c47e62291349b0bc1f8740ec859964527cb479f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use unicode character literalsPeter Varga2025-02-097-23/+26
| | | | | | | | | | | - Fix QStringBuilder warnings when concatenating 8 bit characters - Prefer single character over one character long string literals Pick-to: 6.8 Change-Id: Ibfec384b6e5421cb64255a5a52a43001724bf301 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 6a67fd58bd3c8a4d0483e7f55672d0d07273940e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>