From 89699b019ba453116501437802a851c78b575628 Mon Sep 17 00:00:00 2001 From: jj Date: Tue, 2 Dec 2025 23:28:31 +0000 Subject: [PATCH 1/2] patches/disable-crash-reporter: re-enable crashpad on Linux --- .../disable-crash-reporter.patch | 104 +++++++----------- 1 file changed, 42 insertions(+), 62 deletions(-) diff --git a/patches/core/ungoogled-chromium/disable-crash-reporter.patch b/patches/core/ungoogled-chromium/disable-crash-reporter.patch index 5e188fb6..a5c967b5 100644 --- a/patches/core/ungoogled-chromium/disable-crash-reporter.patch +++ b/patches/core/ungoogled-chromium/disable-crash-reporter.patch @@ -1,69 +1,49 @@ # Disable some background communication with clients2.google.com ---- a/chrome/browser/chrome_content_browser_client.cc -+++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2683,24 +2683,6 @@ void ChromeContentBrowserClient::AppendE - command_line->AppendSwitchASCII(switches::kMetricsClientID, - client_info->client_id); - } --#elif BUILDFLAG(IS_POSIX) --#if !BUILDFLAG(IS_ANDROID) -- pid_t pid; -- if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { -- command_line->AppendSwitchASCII( -- crash_reporter::switches::kCrashpadHandlerPid, -- base::NumberToString(pid)); -- } --#endif -- std::string switch_value; -- std::unique_ptr client_info = -- GoogleUpdateSettings::LoadMetricsClientInfo(); -- if (client_info) { -- switch_value = client_info->client_id; -- } -- switch_value.push_back(','); -- switch_value.append(chrome::GetChannelName(chrome::WithExtendedStable(true))); -- command_line->AppendSwitchASCII(switches::kEnableCrashReporter, switch_value); +--- a/components/crash/core/app/crash_reporter_client.cc ++++ b/components/crash/core/app/crash_reporter_client.cc +@@ -146,7 +146,7 @@ void CrashReporterClient::GetSanitizatio #endif - if (logging::DialogsAreSuppressed()) { + std::string CrashReporterClient::GetUploadUrl() { +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) ++#if 0 + return kDefaultUploadURL; + #else + return std::string(); +--- a/third_party/crashpad/crashpad/handler/handler_main.cc ++++ b/third_party/crashpad/crashpad/handler/handler_main.cc +@@ -875,7 +875,7 @@ int HandlerMain(int argc, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) + case kOptionURL: { +- options.url = optarg; ++ options.url = ""; + break; + } + #if BUILDFLAG(IS_CHROMEOS) +@@ -1016,7 +1016,7 @@ int HandlerMain(int argc, + } + + ScopedStoppable upload_thread; +- if (!options.url.empty()) { ++ if ((false)) { + // TODO(scottmg): options.rate_limit should be removed when we have a + // configurable database setting to control upload limiting. + // See https://crashpad.chromium.org/bug/23. --- a/components/crash/core/app/crashpad.cc +++ b/components/crash/core/app/crashpad.cc -@@ -72,6 +72,12 @@ void InitializeDatabasePath(const base:: - } - - bool InitializeCrashpadImpl(bool initial_client, -+ const std::string& a, const std::string& b, const base::FilePath& c, -+ const std::vector& d, bool e, const std::vector& f) { +@@ -78,6 +78,13 @@ bool InitializeCrashpadImpl(bool initial + const std::vector& initial_arguments, + bool embedded_handler, + const std::vector& attachments) { ++// Crashpad is needed on Linux because it's used as a WASM signal handler. ++// This is not the case on other platforms, and so it can remain entirely ++// disabled there. ++#if !BUILDFLAG(IS_LINUX) + return false; -+} -+[[maybe_unused]] -+bool DeadInitializeCrashpadImpl(bool initial_client, - const std::string& process_type, - const std::string& user_data_dir, - const base::FilePath& exe_path, ---- a/components/gwp_asan/client/gwp_asan.cc -+++ b/components/gwp_asan/client/gwp_asan.cc -@@ -344,6 +344,11 @@ GWP_ASAN_EXPORT std::optional GetAllocatorSettings( -+ const base::Feature& a, bool b, std::string_view c) { -+ return std::nullopt; -+} -+[[maybe_unused]] -+std::optional DeadGetAllocatorSettings( - const base::Feature& feature, - bool boost_sampling, - std::string_view process_type) { ---- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc -+++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc -@@ -747,8 +747,6 @@ void CrashpadClient::CrashWithoutDump(co - // static - void CrashpadClient::SetFirstChanceExceptionHandler( - FirstChanceHandler handler) { -- DCHECK(SignalHandler::Get()); -- SignalHandler::Get()->SetFirstChanceHandler(handler); - } - - // static ++#endif ++ + static bool initialized = false; + DCHECK(!initialized); + initialized = true; From 20915c82d9ecc9ff2210157d77374337c0359390 Mon Sep 17 00:00:00 2001 From: Blaise Date: Wed, 10 Dec 2025 13:46:06 -0600 Subject: [PATCH 2/2] Update to Chromium 143.0.7499.109 --- chromium_version.txt | 2 +- domain_substitution.list | 2 ++ .../disable-crash-reporter.patch | 32 +++++++++---------- .../fix-building-without-safebrowsing.patch | 23 +++++++++++++ .../add-flags-for-existing-switches.patch | 2 +- .../add-ungoogled-flag-headers.patch | 2 +- .../upstream-fixes/missing-dependencies.patch | 10 ++++++ 7 files changed, 54 insertions(+), 19 deletions(-) diff --git a/chromium_version.txt b/chromium_version.txt index b5eb33b5..08e5245d 100644 --- a/chromium_version.txt +++ b/chromium_version.txt @@ -1 +1 @@ -143.0.7499.40 +143.0.7499.109 diff --git a/domain_substitution.list b/domain_substitution.list index e41365fd..026aa8f7 100644 --- a/domain_substitution.list +++ b/domain_substitution.list @@ -2155,6 +2155,7 @@ chrome/browser/ui/webui/management/management_ui_handler_unittest.cc chrome/browser/ui/webui/media_router/cast_feedback_ui.cc chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc chrome/browser/ui/webui/new_tab_footer/new_tab_footer_handler_browsertest.cc +chrome/browser/ui/webui/new_tab_page/action_chips/action_chips_generator_unittest.cc chrome/browser/ui/webui/new_tab_page/action_chips/action_chips_handler_unittest.cc chrome/browser/ui/webui/new_tab_page/foo/foo_handler.cc chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc @@ -8256,6 +8257,7 @@ third_party/devtools-frontend/src/front_end/panels/timeline/TimelineTreeView.ts third_party/devtools-frontend/src/front_end/panels/timeline/TimelineUIUtils.test.ts third_party/devtools-frontend/src/front_end/panels/timeline/TimingsTrackAppender.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/DetailsView.ts +third_party/devtools-frontend/src/front_end/panels/timeline/components/ExportTraceOptions.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/FieldSettingsDialog.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/LiveMetricsView.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/SidebarInsightsTab.test.ts diff --git a/patches/core/ungoogled-chromium/disable-crash-reporter.patch b/patches/core/ungoogled-chromium/disable-crash-reporter.patch index a5c967b5..74c43022 100644 --- a/patches/core/ungoogled-chromium/disable-crash-reporter.patch +++ b/patches/core/ungoogled-chromium/disable-crash-reporter.patch @@ -11,6 +11,22 @@ return kDefaultUploadURL; #else return std::string(); +--- a/components/crash/core/app/crashpad.cc ++++ b/components/crash/core/app/crashpad.cc +@@ -78,6 +78,13 @@ bool InitializeCrashpadImpl(bool initial + const std::vector& initial_arguments, + bool embedded_handler, + const std::vector& attachments) { ++// Crashpad is needed on Linux because it's used as a WASM signal handler. ++// This is not the case on other platforms, and so it can remain entirely ++// disabled there. ++#if !BUILDFLAG(IS_LINUX) ++ return false; ++#endif ++ + static bool initialized = false; + DCHECK(!initialized); + initialized = true; --- a/third_party/crashpad/crashpad/handler/handler_main.cc +++ b/third_party/crashpad/crashpad/handler/handler_main.cc @@ -875,7 +875,7 @@ int HandlerMain(int argc, @@ -31,19 +47,3 @@ // TODO(scottmg): options.rate_limit should be removed when we have a // configurable database setting to control upload limiting. // See https://crashpad.chromium.org/bug/23. ---- a/components/crash/core/app/crashpad.cc -+++ b/components/crash/core/app/crashpad.cc -@@ -78,6 +78,13 @@ bool InitializeCrashpadImpl(bool initial - const std::vector& initial_arguments, - bool embedded_handler, - const std::vector& attachments) { -+// Crashpad is needed on Linux because it's used as a WASM signal handler. -+// This is not the case on other platforms, and so it can remain entirely -+// disabled there. -+#if !BUILDFLAG(IS_LINUX) -+ return false; -+#endif -+ - static bool initialized = false; - DCHECK(!initialized); - initialized = true; diff --git a/patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch b/patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch index ccbc7e2b..ebe0434a 100644 --- a/patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch +++ b/patches/core/ungoogled-chromium/fix-building-without-safebrowsing.patch @@ -1603,6 +1603,29 @@ #endif } +--- a/chrome/browser/ui/safety_hub/abusive_notification_permissions_manager.cc ++++ b/chrome/browser/ui/safety_hub/abusive_notification_permissions_manager.cc +@@ -108,20 +108,7 @@ safe_browsing::NotificationRevocationSou + // suspicious notification. + bool HasShowOriginalSuspiciousNotification(HostContentSettingsMap* hcsm, + GURL url) { +- DCHECK(hcsm); +- DCHECK(url.is_valid()); +- base::Value stored_value(hcsm->GetWebsiteSetting( +- url, url, ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL)); +- +- if (stored_value.is_none()) { + return false; +- } +- DCHECK(stored_value.is_dict()); +- DCHECK(stored_value.GetDict().contains( +- safe_browsing::kSuspiciousNotificationShowOriginalKey)); +- return stored_value.GetDict() +- .FindBool(safe_browsing::kSuspiciousNotificationShowOriginalKey) +- .value_or(false); + } + + // Return true if the url should be considered for suspicious content --- a/chrome/browser/ui/safety_hub/revoked_permissions_service.cc +++ b/chrome/browser/ui/safety_hub/revoked_permissions_service.cc @@ -41,7 +41,6 @@ diff --git a/patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch b/patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch index 8c57f9c7..71c8f194 100644 --- a/patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch +++ b/patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5203,10 +5203,12 @@ const FeatureEntry::FeatureVariation kPr +@@ -5210,10 +5210,12 @@ const FeatureEntry::FeatureVariation kPr #include "chrome/browser/ungoogled_flag_choices.h" #include "chrome/browser/bromite_flag_choices.h" #include "chrome/browser/ungoogled_platform_flag_choices.h" diff --git a/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch b/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch index bf8250f5..0b484700 100644 --- a/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch +++ b/patches/extra/ungoogled-chromium/add-ungoogled-flag-headers.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5199,7 +5199,13 @@ const FeatureEntry::FeatureVariation kPr +@@ -5206,7 +5206,13 @@ const FeatureEntry::FeatureVariation kPr // calculate and verify checksum. // // When adding a new choice, add it to the end of the list. diff --git a/patches/upstream-fixes/missing-dependencies.patch b/patches/upstream-fixes/missing-dependencies.patch index b75a07c3..fb0b336e 100644 --- a/patches/upstream-fixes/missing-dependencies.patch +++ b/patches/upstream-fixes/missing-dependencies.patch @@ -48,6 +48,16 @@ ] # Disallow depending on content. +--- a/components/contextual_tasks/internal/BUILD.gn ++++ b/components/contextual_tasks/internal/BUILD.gn +@@ -43,6 +43,7 @@ source_set("internal") { + "//components/sync/model", + "//components/url_formatter", + "//net", ++ "//third_party/re2", + "//ui/gfx", + "//url", + ] --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -119,6 +119,7 @@ source_set("browser") {