Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions io.qt.qtwebengine.BaseApp.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"id": "io.qt.qtwebengine.BaseApp",
"branch": "6.4",
"branch": "6.5",
"runtime": "org.kde.Platform",
"sdk": "org.kde.Sdk",
"sdk-extensions": [
"org.kde.Sdk.Locale",
"org.freedesktop.Sdk.Extension.node18"
],
"runtime-version": "6.4",
"runtime-version": "6.5",
"separate-locales": false,
"modules": [
{
Expand All @@ -23,7 +23,7 @@
"config-opts": [
"-DQT_FEATURE_webengine_kerberos=ON",
"-DQT_FEATURE_webengine_proprietary_codecs=ON",
"-DQT_FEATURE_webengine_system_ffmpeg=ON",
"-DQT_FEATURE_webengine_system_ffmpeg=OFF",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why off?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ffmpeg version of the runtime is not compatible with Chromium

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and it is in the 6.4 branch? That's odd, what's the error?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was explained here. There are 3 possible solutions:

  1. runtime patches ffmpeg
  2. baseapp patches webengine
  3. internal ffmpeg is used

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thing is that 6.4 and 6.5 use the same freedesktop runtime. So if it works in 6.4 then it works in 6.5

Which is either 6.4 is broken or this should just be the same as 6.4

You can't expect that change in freedesktop runtime as 6.5 will not use a more recent runtime.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May also be that 6.5 requires a newer ffmpeg.

Anyhow i think "internal ffmpeg is used" is good enough, if -DQT_FEATURE_webengine_system_ffmpeg=OFF does that no opposition from my side.

Copy link

@Erick555 Erick555 Jun 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if it works in 6.4 then it works in 6.5

The webengine commit which blocks ffmpeg >= 5 (the problem is runtime ffmpeg is too new not too old) was introduced in 6.5.x branch. I don't know if 6.4 is silently broken or not affected.

Using internal ffmpeg should be just fine.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As Erik555 said, it doesn't build with -DQT_FEATURE_webengine_system_ffmpeg=ON, so we need to disable that.

It is also highly possible, that this is also broken in the 6.4 branch. I assume they got a bug report, that it is not working, so they added this check.

"-DQT_FEATURE_webengine_system_freetype=ON",
"-DQT_FEATURE_webengine_system_icu=ON",
"-DQT_FEATURE_webengine_system_libevent=ON",
Expand All @@ -42,13 +42,13 @@
{
"type": "git",
"url": "https://invent.kde.org/qt/qt/qtwebengine.git",
"tag": "v6.4.2",
"commit": "207b66fa6e010d07352b92b4bc148bca8026e7fa",
"tag": "v6.5.1",
"commit": "735d2f75d7c2ef01d0ac0a9827dfda2fa4373e84",
"x-checker-data": {
"is-main-source": true,
"type": "json",
"url": "https://invent.kde.org/api/v4/projects/qt%2Fqt%2Fqtwebengine/repository/tags",
"tag-query": "first(.[].name | match( \"v6.4[\\\\d.]+-lts|v6.4[\\\\d.]+\" ) | .string)",
"tag-query": "first(.[].name | match( \"v6.5[\\\\d.]+-lts|v6.5[\\\\d.]+\" ) | .string)",
"version-query": "$tag | sub(\"^v\"; \"\")",
"timestamp-query": ".[] | select(.name==$tag) | .commit.created_at"
}
Expand Down
2 changes: 2 additions & 0 deletions io.qt.qtwebengine.BaseApp.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
<url type="homepage">https://qt.io</url>
<project_group>KDE</project_group>
<releases>
<release version="6.5.1" date="2023-05-24"/>
<release version="6.5.0" date="2023-04-03"/>
<release version="6.4.2" date="2022-12-13"/>
<release version="6.3.2" date="2022-09-07"/>
<release version="6.3.1" date="2022-06-08"/>
Expand Down
17 changes: 12 additions & 5 deletions patches/chromium-flatpak-add-initial-sandbox-support.patch
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,14 @@ index 90f0c282a..7270d63b9 100644
friend class shell_integration_linux::
LaunchXdgUtilityScopedAllowBaseSyncPrimitives;
+ friend class sandbox::FlatpakSandbox;
friend class storage::ObfuscatedFileUtil;
friend class syncer::HttpBridge;
friend class syncer::GetLocalChangesRequest;
friend class webrtc::DesktopConfigurationMonitor;
diff --git a/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.js b/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.js
diff --git a/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.js b/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.ts
index 564ce0857..6345f2558 100644
--- a/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.js
+++ b/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.js
--- a/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.ts
+++ b/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.ts
@@ -139,6 +139,7 @@ function androidHandler() {
function linuxHandler() {
const suidSandbox = loadTimeData.getBoolean('suid');
Expand Down Expand Up @@ -116,15 +117,19 @@ diff --git a/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc b/ch
index c878f4517..a5178a2c2 100644
--- a/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -13,11 +13,13 @@
@@ -13,15 +13,17 @@
#include "base/logging.h"
#include "base/posix/unix_domain_socket.h"
#include "base/process/kill.h"
+#include "base/process/launch.h"
#include "base/process/memory.h"
#include "base/strings/string_number_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "content/common/zygote/zygote_commands_linux.h"
#include "content/common/zygote/zygote_communication_linux.h"
#include "content/common/zygote/zygote_handle_impl_linux.h"
#include "content/public/common/zygote/zygote_handle.h"
#include "sandbox/linux/services/credentials.h"
+#include "sandbox/linux/services/flatpak_sandbox.h"
#include "sandbox/linux/services/namespace_sandbox.h"
Expand Down Expand Up @@ -1250,11 +1255,13 @@ diff --git a/chromium/sandbox/policy/linux/sandbox_linux.h b/chromium/sandbox/po
index fc5214412..86c35b577 100644
--- a/chromium/sandbox/policy/linux/sandbox_linux.h
+++ b/chromium/sandbox/policy/linux/sandbox_linux.h
@@ -11,6 +11,7 @@
@@ -11,8 +11,9 @@

#include "base/check_op.h"
#include "base/memory/raw_ptr.h"
#include "base/posix/global_descriptors.h"
+#include "sandbox/linux/services/flatpak_sandbox.h"
#include "base/sanitizer_buildflags.h"
#include "sandbox/linux/syscall_broker/broker_command.h"
#include "sandbox/linux/syscall_broker/broker_file_permission.h"
#include "sandbox/policy/export.h"
Expand Down
14 changes: 12 additions & 2 deletions patches/chromium-flatpak-expose-widevine-into-the-sandbox.patch
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ diff --git a/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc b/ch
index a5178a2c2..c45e8aed7 100644
--- a/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -10,14 +10,20 @@
@@ -10,18 +10,24 @@

#include "base/allocator/allocator_extension.h"
#include "base/files/file_enumerator.h"
Expand All @@ -27,19 +27,29 @@ index a5178a2c2..c45e8aed7 100644
#include "base/process/memory.h"
#include "base/strings/string_number_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "chrome/common/chrome_paths.h" // nogncheck
#include "content/common/zygote/zygote_commands_linux.h"
#include "content/common/zygote/zygote_communication_linux.h"
#include "content/common/zygote/zygote_handle_impl_linux.h"
#include "content/public/common/zygote/zygote_handle.h"
+#include "content/public/common/cdm_info.h"
+#include "content/public/common/content_client.h"
#include "sandbox/linux/services/credentials.h"
#include "sandbox/linux/services/flatpak_sandbox.h"
#include "sandbox/linux/services/namespace_sandbox.h"
@@ -25,6 +31,7 @@
@@ -25,12 +31,13 @@
#include "sandbox/linux/suid/common/sandbox.h"
#include "sandbox/policy/linux/sandbox_linux.h"
#include "sandbox/policy/switches.h"
+#include "third_party/widevine/cdm/buildflags.h" // nogncheck

#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "content/common/zygote/zygote_communication_linux.h"
#include "content/common/zygote/zygote_handle_impl_linux.h"
#include "content/public/common/zygote/zygote_handle.h"
#endif

namespace content {

@@ -177,8 +184,51 @@ pid_t ZygoteHostImpl::LaunchZygote(
Expand Down
2 changes: 1 addition & 1 deletion patches/resources.patch
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ index 151918bd7..1d1bf1f17 100644
--- a/src/core/web_engine_library_info.cpp
+++ b/src/core/web_engine_library_info.cpp
@@ -339,8 +339,7 @@ QString resourcesPath()
#if defined(OS_MAC) && defined(QT_MAC_FRAMEWORK_BUILD)
#if defined(Q_OS_DARWIN) && defined(QT_MAC_FRAMEWORK_BUILD)
candidatePaths << getResourcesPath(frameworkBundle());
#endif
- candidatePaths << QLibraryInfo::path(QLibraryInfo::DataPath) % QDir::separator()
Expand Down
6 changes: 3 additions & 3 deletions qt6-webview/qt6-webview.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@
{
"type": "git",
"url": "https://invent.kde.org/qt/qt/qtwebview.git",
"tag": "v6.4.2",
"commit": "2d6af23bbdefe5b69c34ea69026cff4f47dd952b",
"tag": "v6.5.1",
"commit": "9352b7fa3cf7b8be8486ca3f2fd0549997a3d35b",
"x-checker-data": {
"is-important": true,
"type": "json",
"url": "https://invent.kde.org/api/v4/projects/qt%2Fqt%2Fqtwebview/repository/tags",
"tag-query": "first(.[].name | match( \"v6.4[\\\\d.]+(-lts-lgpl|-lts)?\" ) | .string)",
"tag-query": "first(.[].name | match( \"v6.5[\\\\d.]+(-lts-lgpl|-lts)?\" ) | .string)",
"version-query": "$tag | sub(\"^v\"; \"\")",
"timestamp-query": ".[] | select(.name==$tag) | .commit.created_at"
}
Expand Down