From a8aed07597294c06e28744898aa61d696cea10db Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 15 Apr 2026 17:25:19 +0200 Subject: [PATCH] Cromite Branding: Fix for taskbar grouping (#2796) Modifies the handling of the system mutex to distinguish Cromite from other Chromium forks and the policy registry path. Disables the forced loading of chrome extensions specified in the registry key. --- build/patches/Cromite-Branding.patch | 62 +++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch index ddc69df2..159e705c 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -4,6 +4,7 @@ Subject: Cromite Branding License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- + base/win/message_window.cc | 2 +- build/BUILD.gn | 8 ++ build/config/BUILDCONFIG.gn | 4 + chrome/android/java/AndroidManifest.xml | 2 +- @@ -38,11 +39,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes .../chromium/product_logo_32.png | Bin 822 -> 2301 bytes chrome/browser/BUILD.gn | 1 + + .../external_registry_loader_win.cc | 3 +- .../browser/hub/HubToolbarMediator.java | 2 +- .../android/res/layout/hub_toolbar_layout.xml | 83 +++++++++------- .../chrome/browser/omaha/UpdateConfigs.java | 2 +- chrome/browser/prefs/BUILD.gn | 1 + .../prefs/chrome_pref_service_factory.cc | 6 +- + chrome/browser/process_singleton_win.cc | 2 +- .../profiles/profile_shortcut_manager_win.cc | 2 +- .../settings/settings_menu/settings_menu.html | 14 ++- .../tab_group_sync/TabGroupSyncUtils.java | 5 +- @@ -60,6 +63,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../browser/autocomplete_controller.cc | 1 + .../vector_icons/product_chrome_refresh.icon | 93 +++++++++--------- components/policy/core/common/policy_paths.cc | 2 +- + .../policy/tools/generate_policy_source.py | 2 +- .../chromium/product_logo.png | Bin 1562 -> 3577 bytes .../chromium/product_logo_white.png | Bin 1417 -> 3040 bytes .../chromium/product_logo.png | Bin 2714 -> 7923 bytes @@ -69,9 +73,21 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html content/child/runtime_features.cc | 44 ++++----- .../Cromite-Branding.inc | 1 + tools/grit/grit/grd_reader.py | 35 +++++++ - 65 files changed, 267 insertions(+), 175 deletions(-) + 69 files changed, 272 insertions(+), 179 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc +diff --git a/base/win/message_window.cc b/base/win/message_window.cc +--- a/base/win/message_window.cc ++++ b/base/win/message_window.cc +@@ -29,7 +29,7 @@ + // To avoid conflicts with the macro from the Windows SDK... + #undef FindWindow + +-const wchar_t kMessageWindowClassName[] = L"Chrome_MessageWindow"; ++const wchar_t kMessageWindowClassName[] = L"Cromite_MessageWindow"; + + namespace { + diff --git a/build/BUILD.gn b/build/BUILD.gn --- a/build/BUILD.gn +++ b/build/BUILD.gn @@ -13216,6 +13232,26 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//cc", "//chrome:extra_resources", "//chrome:resources", +diff --git a/chrome/browser/extensions/external_registry_loader_win.cc b/chrome/browser/extensions/external_registry_loader_win.cc +--- a/chrome/browser/extensions/external_registry_loader_win.cc ++++ b/chrome/browser/extensions/external_registry_loader_win.cc +@@ -35,7 +35,7 @@ using content::BrowserThread; + namespace { + + // The Registry subkey that contains information about external extensions. +-const wchar_t kRegistryExtensions[] = L"Software\\Google\\Chrome\\Extensions"; ++const wchar_t kRegistryExtensions[] = L"Software\\Uazo\\Cromite\\Extensions"; + + // Registry value of the key that defines the installation parameter. + const wchar_t kRegistryExtensionInstallParam[] = L"install_parameter"; +@@ -82,6 +82,7 @@ void ExternalRegistryLoader::StartLoading() { + + base::DictValue ExternalRegistryLoader::LoadPrefsOnBlockingThread() { + base::DictValue prefs; ++ if ((true)) return prefs; + + // A map of IDs, to weed out duplicates between HKCU and HKLM. + std::set keys; diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java --- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java +++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java @@ -13377,6 +13413,18 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse return std::make_unique(profile_path, seed); } +diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc +--- a/chrome/browser/process_singleton_win.cc ++++ b/chrome/browser/process_singleton_win.cc +@@ -381,7 +381,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() { + bool ProcessSingleton::Create() { + TRACE_EVENT0("startup", "ProcessSingleton::Create"); + +- static const wchar_t kMutexName[] = L"Local\\ChromeProcessSingletonStartup!"; ++ static const wchar_t kMutexName[] = L"Local\\CromiteProcessSingletonStartup!"; + + remote_window_ = FindRunningChromeWindow(user_data_dir_); + if (!remote_window_ && !EscapeVirtualization(user_data_dir_)) { diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc --- a/chrome/browser/profiles/profile_shortcut_manager_win.cc +++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc @@ -18557,6 +18605,18 @@ diff --git a/components/policy/core/common/policy_paths.cc b/components/policy/c #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +diff --git a/components/policy/tools/generate_policy_source.py b/components/policy/tools/generate_policy_source.py +--- a/components/policy/tools/generate_policy_source.py ++++ b/components/policy/tools/generate_policy_source.py +@@ -28,7 +28,7 @@ from xml.sax.saxutils import escape as xml_escape + + CHROME_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Google\\\\Chrome' + CHROME_FOR_TESTING_POLICY_KEY = CHROME_POLICY_KEY + ' for Testing' +-CHROMIUM_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Chromium' ++CHROMIUM_POLICY_KEY = 'SOFTWARE\\\\Policies\\\\Cromite' + PLATFORM_STRINGS = { + 'chrome_frame': ['win'], + 'chrome_os': ['chrome_os'], diff --git a/components/resources/default_100_percent/chromium/product_logo.png b/components/resources/default_100_percent/chromium/product_logo.png index 7b60bd8c6053346e4eb265cc77d28add65103028..66b3c4c7a4f68fba1ef098000bd373ba103a0de0 100644 GIT binary patch