aboutsummaryrefslogtreecommitdiff
path: root/www/iridium/files/patch-content_utility_utility__main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/iridium/files/patch-content_utility_utility__main.cc')
-rw-r--r--www/iridium/files/patch-content_utility_utility__main.cc62
1 files changed, 32 insertions, 30 deletions
diff --git a/www/iridium/files/patch-content_utility_utility__main.cc b/www/iridium/files/patch-content_utility_utility__main.cc
index dbf0a5f9b210..93914073194a 100644
--- a/www/iridium/files/patch-content_utility_utility__main.cc
+++ b/www/iridium/files/patch-content_utility_utility__main.cc
@@ -1,6 +1,6 @@
---- content/utility/utility_main.cc.orig 2025-05-07 06:48:23 UTC
+--- content/utility/utility_main.cc.orig 2025-09-11 13:19:19 UTC
+++ content/utility/utility_main.cc
-@@ -36,18 +36,22 @@
+@@ -39,17 +39,21 @@
#include "services/tracing/public/cpp/trace_startup.h"
#include "services/video_effects/public/cpp/buildflags.h"
@@ -10,35 +10,34 @@
#include "base/files/file_util.h"
#include "base/pickle.h"
#include "content/child/sandboxed_process_thread_type_handler.h"
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include "content/common/gpu_pre_sandbox_hook_linux.h"
+#endif
#include "content/public/common/content_descriptor_keys.h"
#include "content/utility/speech/speech_recognition_sandbox_hook_linux.h"
- #include "gpu/config/gpu_info_collector.h"
- #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h"
- #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h"
+ #include "media/gpu/buildflags.h"
+ #include "media/media_buildflags.h"
+#if !BUILDFLAG(IS_BSD)
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
#include "services/audio/audio_sandbox_hook_linux.h"
#include "services/network/network_sandbox_hook_linux.h"
#include "services/screen_ai/buildflags/buildflags.h"
-@@ -66,7 +70,12 @@
+@@ -84,7 +88,12 @@
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
--#if BUILDFLAG(IS_LINUX)
+-#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_BSD)
+#include "sandbox/policy/sandbox.h"
+#include "content/common/gpu_pre_sandbox_hook_bsd.h"
+#endif
+
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
++#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
#include "services/video_effects/video_effects_sandbox_hook_linux.h" // nogncheck
#endif // BUILDFLAG(IS_LINUX)
-@@ -101,7 +110,7 @@
+@@ -121,7 +130,7 @@
sandbox::TargetServices* g_utility_target_services = nullptr;
#endif // BUILDFLAG(IS_WIN)
@@ -47,7 +46,7 @@
#include "components/services/on_device_translation/sandbox_hook.h"
#endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX)
-@@ -109,7 +118,7 @@ namespace content {
+@@ -129,7 +138,7 @@ namespace content {
namespace {
@@ -56,26 +55,27 @@
std::vector<std::string> GetNetworkContextsParentDirectories() {
base::MemoryMappedFile::Region region;
base::ScopedFD read_pipe_fd = base::FileDescriptorStore::GetInstance().TakeFD(
-@@ -247,7 +256,8 @@ int UtilityMain(MainFunctionParams parameters) {
- CHECK(on_device_model::OnDeviceModelService::PreSandboxInit());
+@@ -284,7 +293,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ CHECK(on_device_model::PreSandboxInit());
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+// XXX BSD
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
- // Thread type delegate of the process should be registered before first
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+
+ #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) && BUILDFLAG(USE_VAAPI)
+ // Regardless of the sandbox status, the VaapiWrapper needs to be initialized
+@@ -299,7 +308,10 @@ int UtilityMain(MainFunctionParams parameters) {
// thread type change in ChildProcess constructor. It also needs to be
// registered before the process has multiple threads, which may race with
-@@ -255,7 +265,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ // application of the sandbox.
++// XXX BSD
++#if !BUILDFLAG(IS_BSD)
SandboxedProcessThreadTypeHandler::Create();
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Initializes the sandbox before any threads are created.
// TODO(jorgelo): move this after GTK initialization when we enable a strict
- // Seccomp-BPF policy.
-@@ -287,7 +297,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -331,7 +343,7 @@ int UtilityMain(MainFunctionParams parameters) {
pre_sandbox_hook =
base::BindOnce(&speech::SpeechRecognitionPreSandboxHook);
break;
@@ -84,23 +84,25 @@
case sandbox::mojom::Sandbox::kOnDeviceTranslation:
pre_sandbox_hook = base::BindOnce(
&on_device_translation::OnDeviceTranslationSandboxHook);
-@@ -303,13 +313,13 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -347,7 +359,7 @@ int UtilityMain(MainFunctionParams parameters) {
#else
NOTREACHED();
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
case sandbox::mojom::Sandbox::kVideoEffects:
+ #if BUILDFLAG(ENABLE_VIDEO_EFFECTS)
pre_sandbox_hook =
- base::BindOnce(&video_effects::VideoEffectsPreSandboxHook);
+@@ -355,7 +367,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ #endif
break;
#endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- case sandbox::mojom::Sandbox::kHardwareVideoDecoding:
+ case sandbox::mojom::Sandbox::kShapeDetection:
pre_sandbox_hook =
- base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook);
-@@ -336,6 +346,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ base::BindOnce(&shape_detection::ShapeDetectionPreSandboxHook);
+@@ -390,6 +402,7 @@ int UtilityMain(MainFunctionParams parameters) {
default:
break;
}
@@ -108,7 +110,7 @@
if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) &&
(parameters.zygote_child || !pre_sandbox_hook.is_null())) {
sandbox_options.use_amd_specific_policies =
-@@ -343,6 +354,11 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -397,6 +410,11 @@ int UtilityMain(MainFunctionParams parameters) {
sandbox::policy::Sandbox::Initialize(
sandbox_type, std::move(pre_sandbox_hook), sandbox_options);
}
@@ -118,5 +120,5 @@
+ sandbox::policy::SandboxLinux::Options());
+#endif
- // Start the HangWatcher now that the sandbox is engaged, if it hasn't
- // already been started.
+ // Startup tracing creates a tracing thread, which is incompatible on
+ // platforms that require single-threaded sandbox initialization. In these