+
+
@@ -601,7 +602,7 @@
@@ -611,7 +612,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1955,6 +1955,8 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1969,6 +1969,8 @@ void AddPrivacyStrings(content::WebUIDat
{"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION},
{"heliumServicesTitle", IDS_SETTINGS_HELIUM_SERVICES},
{"heliumServicesDescription", IDS_SETTINGS_HELIUM_SERVICES_DESCRIPTION},
diff --git a/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch b/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch
index ba5ca6c1..eac24373 100644
--- a/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch
+++ b/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch
@@ -12,7 +12,7 @@
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -221,6 +221,10 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -222,6 +222,10 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
(*s_allowlist)[::prefs::kUseCustomChromeFrame] =
settings_api::PrefType::kBoolean;
#endif
@@ -39,9 +39,9 @@
label="$i18n{showTabGroupsInBookmarksBar}">
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -106,6 +106,8 @@ void RegisterBrowserUserPrefs(user_prefs
- user_prefs::PrefRegistrySyncable::SYNCABLE_PREF;
- #endif
+@@ -110,6 +110,8 @@ void RegisterBrowserUserPrefs(user_prefs
+ registry->RegisterIntegerPref(prefs::kSessionRestoreInfoBarTimesShown, 0);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ registry->RegisterBooleanPref(prefs::kNewTabNextToActive, false);
+
@@ -65,7 +65,7 @@
#include "components/reading_list/core/reading_list_model.h"
#include "components/tab_groups/tab_group_id.h"
#include "components/tab_groups/tab_group_visual_data.h"
-@@ -1545,7 +1547,11 @@ void TabStripModel::AddTab(std::unique_p
+@@ -1548,7 +1550,11 @@ void TabStripModel::AddTab(std::unique_p
// For all other types, respect what was passed to us, normalizing -1s and
// values that are too large.
if (index < 0 || index > count()) {
@@ -80,7 +80,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -511,6 +511,7 @@ void AddAppearanceStrings(content::WebUI
+@@ -513,6 +513,7 @@ void AddAppearanceStrings(content::WebUI
{"lightMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_LIGHT_LABEL},
{"darkMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_DARK_LABEL},
{"systemMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_SYSTEM_LABEL},
@@ -90,7 +90,7 @@
{"allowSplitViewDragAndDrop",
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
-@@ -1315,6 +1315,10 @@ inline constexpr char
+@@ -1306,6 +1306,10 @@ inline constexpr char
"restricted_managed_guest_session_extension_cleanup_exempt_list";
#endif // BUILDFLAG(IS_CHROMEOS)
diff --git a/patches/helium/core/override-chrome-protocol.patch b/patches/helium/core/override-chrome-protocol.patch
index 5a251fae..2fe9ebc1 100644
--- a/patches/helium/core/override-chrome-protocol.patch
+++ b/patches/helium/core/override-chrome-protocol.patch
@@ -10,7 +10,7 @@
inline constexpr char kViewSourceScheme[] = "view-source";
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
-@@ -38,6 +38,7 @@ bool ProfileIOData::IsHandledProtocol(co
+@@ -44,6 +44,7 @@ bool ProfileIOData::IsHandledProtocol(co
extensions::kExtensionScheme,
#endif
content::kChromeUIScheme,
@@ -62,7 +62,7 @@
// Prevent future modification of the scheme lists. This is to prevent
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
-@@ -888,10 +888,18 @@ void RenderThreadImpl::RegisterSchemes()
+@@ -887,10 +887,18 @@ void RenderThreadImpl::RegisterSchemes()
chrome_scheme);
WebSecurityPolicy::RegisterURLSchemeAsWebUI(chrome_scheme);
@@ -91,9 +91,9 @@
url.SchemeIs(content::kChromeUIUntrustedScheme) ||
url.SchemeIs(content::kViewSourceScheme) ||
url.SchemeIs(url::kTraceScheme) ||
---- a/chrome/browser/ui/browser_navigator.cc
-+++ b/chrome/browser/ui/browser_navigator.cc
-@@ -550,7 +550,8 @@ std::unique_ptr Cr
+--- a/chrome/browser/ui/incognito_allowed_url.cc
++++ b/chrome/browser/ui/incognito_allowed_url.cc
+@@ -19,7 +19,8 @@ namespace {
bool IsHostAllowedInIncognito(const GURL& url) {
std::string scheme = url.scheme();
std::string_view host = url.host_piece();
@@ -103,7 +103,9 @@
return true;
}
-@@ -638,6 +639,12 @@ base::WeakPtr
+--- a/chrome/browser/ui/browser_navigator.cc
++++ b/chrome/browser/ui/browser_navigator.cc
+@@ -544,6 +544,12 @@ base::WeakPtr
}
}
@@ -118,7 +120,7 @@
// handling.
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
-@@ -1299,7 +1299,8 @@ bool ExtensionTabUtil::IsKillURL(const G
+@@ -1297,7 +1297,8 @@ bool ExtensionTabUtil::IsKillURL(const G
return true;
}
@@ -130,7 +132,7 @@
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
-@@ -2234,6 +2234,13 @@ void Browser::SetContentsBounds(WebConte
+@@ -2287,6 +2287,13 @@ void Browser::SetContentsBounds(WebConte
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -144,7 +146,7 @@
std::vector status_bubbles = GetStatusBubbles();
for (StatusBubble* status_bubble : status_bubbles) {
StatusBubbleViews* status_bubble_views =
-@@ -2241,7 +2248,7 @@ void Browser::UpdateTargetURL(WebContent
+@@ -2294,7 +2301,7 @@ void Browser::UpdateTargetURL(WebContent
ContentsWebView* anchor =
static_cast(status_bubble_views->base_view());
if (source == anchor->GetWebContents()) {
@@ -226,7 +228,7 @@
// bitmask of FormatUrlTypes, see it for details. |unescape_rules| defines how
--- a/chrome/browser/ui/web_applications/app_browser_controller.cc
+++ b/chrome/browser/ui/web_applications/app_browser_controller.cc
-@@ -201,7 +201,8 @@ std::u16string AppBrowserController::For
+@@ -223,7 +223,8 @@ std::u16string AppBrowserController::For
url_formatter::FormatUrlTypes format_types) {
auto origin = url::Origin::Create(url);
return url_formatter::FormatUrl(origin.opaque() ? url : origin.GetURL(),
diff --git a/patches/helium/core/prefer-https-by-default.patch b/patches/helium/core/prefer-https-by-default.patch
index 146f6f6c..a520efe5 100644
--- a/patches/helium/core/prefer-https-by-default.patch
+++ b/patches/helium/core/prefer-https-by-default.patch
@@ -1,9 +1,9 @@
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
-@@ -891,7 +891,7 @@ BASE_FEATURE(HttpsFirstBalancedMode, bas
+@@ -969,7 +969,7 @@ BASE_FEATURE(kHttpsFirstBalancedMode, ba
// Automatically enables HTTPS-First Mode in a balanced configuration when
// possible.
- BASE_FEATURE(HttpsFirstBalancedModeAutoEnable,
+ BASE_FEATURE(kHttpsFirstBalancedModeAutoEnable,
- base::FEATURE_DISABLED_BY_DEFAULT);
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/patches/helium/core/proxy-extension-downloads.patch b/patches/helium/core/proxy-extension-downloads.patch
index 3ee8a715..a18fa681 100644
--- a/patches/helium/core/proxy-extension-downloads.patch
+++ b/patches/helium/core/proxy-extension-downloads.patch
@@ -155,7 +155,7 @@
static bool UpdatesFromGallery(const Extension* extension);
--- a/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
+++ b/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
-@@ -50,7 +50,7 @@ ChromeExtensionDownloaderFactory::Create
+@@ -53,7 +53,7 @@ ChromeExtensionDownloaderFactory::Create
manifest_query_params += "&testrequest=1";
}
downloader->set_manifest_query_params(manifest_query_params);
@@ -166,7 +166,7 @@
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -354,6 +354,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -355,6 +355,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
// Helium services page
(*s_allowlist)[::prefs::kHeliumServicesEnabled] =
settings_api::PrefType::kBoolean;
@@ -177,7 +177,7 @@
(*s_allowlist)[::prefs::kHeliumServicesConsented] =
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -204,6 +204,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -208,6 +208,7 @@ void RegisterBrowserUserPrefs(user_prefs
{
registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true);
@@ -187,7 +187,7 @@
registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false);
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
-@@ -44,6 +44,11 @@
+@@ -45,6 +45,11 @@
@@ -201,7 +201,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1959,6 +1959,10 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1973,6 +1973,10 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumServicesToggle", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE},
{"heliumServicesToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION},
@@ -214,7 +214,7 @@
IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE_DESCRIPTION},
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1931,6 +1931,12 @@
+@@ -1939,6 +1939,12 @@
When enabled, Helium will be able to connect to anonymous web services to provide additional functionality. When disabled, additional features will not work.
@@ -286,7 +286,7 @@
PrefChangeRegistrar& registrar, const base::RepeatingClosure& observer);
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
-@@ -563,6 +563,7 @@ source_set("extensions") {
+@@ -559,6 +559,7 @@ source_set("extensions") {
"//components/enterprise",
"//components/guest_view/buildflags",
"//components/guest_view/common",
@@ -357,7 +357,7 @@
#include "components/update_client/update_query_params.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
-@@ -210,9 +213,6 @@ void ExtensionUpdater::EnsureDownloaderC
+@@ -213,9 +216,6 @@ void ExtensionUpdater::EnsureDownloaderC
if (!downloader_.get()) {
downloader_ = downloader_factory_.Run(this);
}
@@ -367,7 +367,7 @@
}
void ExtensionUpdater::Start() {
-@@ -231,6 +231,15 @@ void ExtensionUpdater::Start() {
+@@ -234,6 +234,15 @@ void ExtensionUpdater::Start() {
CheckSoon();
ScheduleNextCheck();
}
@@ -383,7 +383,7 @@
}
void ExtensionUpdater::Stop() {
-@@ -357,7 +366,6 @@ void ExtensionUpdater::AddToDownloader(
+@@ -360,7 +369,6 @@ void ExtensionUpdater::AddToDownloader(
int request_id,
DownloadFetchPriority fetch_priority,
ExtensionUpdateCheckParams* update_check_params) {
@@ -391,7 +391,7 @@
// In Kiosk mode extensions are downloaded and updated by the ExternalCache.
// Therefore we skip updates here to avoid conflicts.
-@@ -458,7 +466,7 @@ void ExtensionUpdater::CheckNow(CheckPar
+@@ -461,7 +469,7 @@ void ExtensionUpdater::CheckNow(CheckPar
// Add fetch records for extensions that should be fetched by an update URL.
// These extensions are not yet installed. They come from group policy
// and external install sources.
@@ -400,7 +400,7 @@
PendingExtensionManager::Get(profile_);
ExtensionUpdateCheckParams update_check_params;
-@@ -592,7 +600,7 @@ void ExtensionUpdater::CheckNow(CheckPar
+@@ -595,7 +603,7 @@ void ExtensionUpdater::CheckNow(CheckPar
// OnExtensionDownloadFinished for each extension that was checked.
downloader_->StartAllPending(extension_cache_);
@@ -409,7 +409,7 @@
update_check_params.priority =
params.fetch_priority == DownloadFetchPriority::kBackground
? ExtensionUpdateCheckParams::UpdateCheckPriority::BACKGROUND
-@@ -813,6 +821,10 @@ void ExtensionUpdater::CleanUpCrxFileIfN
+@@ -816,6 +824,10 @@ void ExtensionUpdater::CleanUpCrxFileIfN
bool ExtensionUpdater::CanUseUpdateService(
const ExtensionId& extension_id) const {
@@ -422,7 +422,7 @@
}
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -46,6 +46,7 @@
+@@ -45,6 +45,7 @@
#include "components/crx_file/id_util.h"
#include "components/download/public/common/download_url_parameters.h"
#include "components/update_client/update_query_params.h"
@@ -430,7 +430,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/download_manager.h"
#include "content/public/browser/navigation_controller.h"
-@@ -203,7 +204,7 @@ GURL WebstoreInstaller::GetWebstoreInsta
+@@ -206,7 +207,7 @@ GURL WebstoreInstaller::GetWebstoreInsta
if (!install_source.empty())
params.push_back(installsource_param);
params.push_back("uc");
@@ -452,7 +452,7 @@
// DownloadManager::DownloadUrl callback.
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
-@@ -42,6 +42,8 @@
+@@ -43,6 +43,8 @@
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/pref_names.h"
#include "components/crx_file/id_util.h"
@@ -461,10 +461,10 @@
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h"
#include "content/public/common/content_switches.h"
-@@ -116,6 +118,12 @@ ExtensionManagement::ExtensionManagement
- pref_change_callback);
- pref_change_registrar_.Add(pref_names::kExtensionUnpublishedAvailability,
- pref_change_callback);
+@@ -128,6 +130,12 @@ ExtensionManagement::ExtensionManagement
+ pref_change_registrar_.Add(
+ pref_names::kExtensionForceInstallWithNonMalwareViolationsEnabled,
+ pref_change_callback);
+
+ helium::ConfigurePrefChangeRegistrarFor(
+ prefs::kHeliumExtProxyEnabled,
@@ -474,7 +474,7 @@
// Note that both |global_settings_| and |default_settings_| will be null
// before first call to Refresh(), so in order to resolve this, Refresh() must
// be called in the initialization of ExtensionManagement.
-@@ -270,12 +278,20 @@ GURL ExtensionManagement::GetEffectiveUp
+@@ -282,12 +290,20 @@ GURL ExtensionManagement::GetEffectiveUp
<< "Update URL cannot be overridden to be the webstore URL!";
return update_url;
}
@@ -540,7 +540,7 @@
void AddObserver(Observer* observer);
--- a/chrome/browser/extensions/webstore_data_fetcher.cc
+++ b/chrome/browser/extensions/webstore_data_fetcher.cc
-@@ -87,7 +87,8 @@ void WebstoreDataFetcher::SetMockItemSni
+@@ -90,7 +90,8 @@ void WebstoreDataFetcher::SetMockItemSni
}
void WebstoreDataFetcher::Start(
@@ -550,7 +550,7 @@
if (g_mock_item_snippet_response_) {
g_mock_item_snippet_response_->set_item_id(id_);
delegate_->OnFetchItemSnippetParseSuccess(id_,
-@@ -95,7 +96,9 @@ void WebstoreDataFetcher::Start(
+@@ -98,7 +99,9 @@ void WebstoreDataFetcher::Start(
return;
}
@@ -575,7 +575,7 @@
max_auto_retries_ = max_retries;
--- a/chrome/browser/extensions/webstore_standalone_installer.cc
+++ b/chrome/browser/extensions/webstore_standalone_installer.cc
-@@ -21,6 +21,7 @@
+@@ -20,6 +20,7 @@
#include "chrome/browser/extensions/webstore_data_fetcher.h"
#include "chrome/browser/profiles/profile.h"
#include "components/crx_file/id_util.h"
@@ -583,7 +583,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/blocklist_extension_prefs.h"
-@@ -72,9 +73,12 @@ void WebstoreStandaloneInstaller::BeginI
+@@ -76,9 +77,12 @@ void WebstoreStandaloneInstaller::BeginI
webstore_data_fetcher_ =
std::make_unique(this, GURL(), id_);
diff --git a/patches/helium/core/reduce-accept-language-headers.patch b/patches/helium/core/reduce-accept-language-headers.patch
index 2c4e8035..0f8f4867 100644
--- a/patches/helium/core/reduce-accept-language-headers.patch
+++ b/patches/helium/core/reduce-accept-language-headers.patch
@@ -1,11 +1,11 @@
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
-@@ -202,7 +202,7 @@ BASE_FEATURE(kOmitCorsClientCert,
+@@ -185,7 +185,7 @@ BASE_FEATURE(kOmitCorsClientCert, base::
+
+ // Enables support for the `Variants` response header and reduce
// accept-language. https://github.com/Tanych/accept-language
- BASE_FEATURE(kReduceAcceptLanguage,
- "ReduceAcceptLanguage",
-- base::FEATURE_DISABLED_BY_DEFAULT);
-+ base::FEATURE_ENABLED_BY_DEFAULT);
+-BASE_FEATURE(kReduceAcceptLanguage, base::FEATURE_DISABLED_BY_DEFAULT);
++BASE_FEATURE(kReduceAcceptLanguage, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE_PARAM(base::TimeDelta,
kReduceAcceptLanguageCacheDuration,
diff --git a/patches/helium/core/reenable-spellcheck-downloads.patch b/patches/helium/core/reenable-spellcheck-downloads.patch
index a199c7c0..dc9394b9 100644
--- a/patches/helium/core/reenable-spellcheck-downloads.patch
+++ b/patches/helium/core/reenable-spellcheck-downloads.patch
@@ -96,7 +96,7 @@
#endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -8247,6 +8247,8 @@ static_library("browser") {
+@@ -8264,6 +8264,8 @@ static_library("browser") {
deps += [
"//components/spellcheck/browser",
"//components/spellcheck/common",
@@ -107,7 +107,7 @@
if (!is_android) {
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -358,6 +358,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -359,6 +359,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
settings_api::PrefType::kBoolean;
(*s_allowlist)[::prefs::kHeliumBangsEnabled] =
settings_api::PrefType::kBoolean;
@@ -118,7 +118,7 @@
(*s_allowlist)[::prefs::kHeliumServicesConsented] =
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -206,6 +206,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -210,6 +210,7 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true);
registry->RegisterBooleanPref(prefs::kHeliumBangsEnabled, true);
registry->RegisterBooleanPref(prefs::kHeliumExtProxyEnabled, true);
@@ -128,7 +128,7 @@
registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false);
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
-@@ -54,6 +54,13 @@
+@@ -55,6 +55,13 @@
label="$i18n{heliumBangsToggle}"
sub-label="$i18n{heliumBangsToggleDescription}">
@@ -144,7 +144,7 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1943,6 +1943,12 @@
+@@ -1951,6 +1951,12 @@
Helium will fetch a list of bangs that help you browse the Internet faster, such as !w or !gh. When disabled, bangs will not work.
@@ -159,7 +159,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1962,6 +1962,9 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1976,6 +1976,9 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumBangsToggle", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE},
{"heliumBangsToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION},
diff --git a/patches/helium/core/reenable-update-checks.patch b/patches/helium/core/reenable-update-checks.patch
index 37925914..4cfb3a79 100644
--- a/patches/helium/core/reenable-update-checks.patch
+++ b/patches/helium/core/reenable-update-checks.patch
@@ -39,7 +39,7 @@
// The default implementation for most embedders returns an empty string.
--- a/extensions/browser/updater/extension_downloader.cc
+++ b/extensions/browser/updater/extension_downloader.cc
-@@ -352,6 +352,10 @@ void ExtensionDownloader::DoStartAllPend
+@@ -346,6 +346,10 @@ void ExtensionDownloader::DoStartAllPend
AddToFetches(fetches_preparing, std::move(task));
pending_tasks_.clear();
diff --git a/patches/helium/core/scan-chrome-native-messaging-hosts.patch b/patches/helium/core/scan-chrome-native-messaging-hosts.patch
index 22b45928..7ec937f0 100644
--- a/patches/helium/core/scan-chrome-native-messaging-hosts.patch
+++ b/patches/helium/core/scan-chrome-native-messaging-hosts.patch
@@ -25,7 +25,7 @@
--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
-@@ -154,6 +154,11 @@ bool PathProvider(int key, base::FilePat
+@@ -153,6 +153,11 @@ bool PathProvider(int key, base::FilePat
}
create_dir = true;
break;
@@ -37,7 +37,7 @@
case chrome::DIR_USER_DOCUMENTS:
if (!GetUserDocumentsDirectory(&cur)) {
return false;
-@@ -483,11 +488,28 @@ bool PathProvider(int key, base::FilePat
+@@ -481,11 +486,28 @@ bool PathProvider(int key, base::FilePat
#endif // !BUILDFLAG(IS_MAC)
break;
@@ -158,7 +158,7 @@
return false;
--- a/chrome/common/chrome_paths_mac.mm
+++ b/chrome/common/chrome_paths_mac.mm
-@@ -111,6 +111,10 @@ bool GetDefaultUserDataDirectory(base::F
+@@ -87,6 +87,10 @@ bool GetDefaultUserDataDirectory(base::F
return GetDefaultUserDataDirectoryForProduct(ProductDirName(), result);
}
diff --git a/patches/helium/core/search/engine-defaults.patch b/patches/helium/core/search/engine-defaults.patch
index c41ebb9e..d25c0342 100644
--- a/patches/helium/core/search/engine-defaults.patch
+++ b/patches/helium/core/search/engine-defaults.patch
@@ -1,6 +1,6 @@
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
-@@ -235,7 +235,7 @@ std::unique_ptr GetPrep
+@@ -261,7 +261,7 @@ std::unique_ptr GetPrep
std::vector
regional_prepopulated_engines) {
return FindPrepopulatedEngineInternal(prefs, regional_prepopulated_engines,
@@ -31,7 +31,7 @@
"AE": {
// United Arab Emirates
"search_engines": [
-@@ -1183,7 +1196,8 @@
+@@ -1154,7 +1167,8 @@
"name": "kRegionalSettings",
"export_items": false,
"map_key_type": "country_codes::CountryId",
diff --git a/patches/helium/core/search/force-eu-search-features.patch b/patches/helium/core/search/force-eu-search-features.patch
index 5a4b28d5..91812bf7 100644
--- a/patches/helium/core/search/force-eu-search-features.patch
+++ b/patches/helium/core/search/force-eu-search-features.patch
@@ -9,14 +9,14 @@
#include "chrome/browser/signin/account_consistency_mode_manager_factory.h"
#include "chrome/browser/signin/chrome_signin_client_factory.h"
@@ -84,7 +83,6 @@
- #include "components/plus_addresses/grit/plus_addresses_strings.h"
- #include "components/plus_addresses/plus_address_service.h"
+ #include "components/plus_addresses/core/browser/plus_address_service.h"
+ #include "components/plus_addresses/core/common/features.h"
#include "components/prefs/pref_service.h"
-#include "components/regional_capabilities/regional_capabilities_service.h"
#include "components/safe_browsing/core/common/features.h"
#include "components/safe_browsing/core/common/hashprefix_realtime/hash_realtime_utils.h"
#include "components/saved_tab_groups/public/features.h"
-@@ -2479,14 +2477,9 @@ void AddSearchStrings(content::WebUIData
+@@ -2505,14 +2503,9 @@ void AddSearchStrings(content::WebUIData
html_source->AddString("searchExplanationLearnMoreURL",
chrome::kOmniboxLearnMoreURL);
@@ -34,7 +34,7 @@
"saveGuestChoiceText", IDS_SEARCH_ENGINE_CHOICE_GUEST_SESSION_CHECKBOX);
--- a/components/regional_capabilities/regional_capabilities_service.cc
+++ b/components/regional_capabilities/regional_capabilities_service.cc
-@@ -166,6 +166,8 @@ std::pair GetSearchEngineCountryOverride() {
--- a/components/search_engine_choice_strings.grdp
+++ b/components/search_engine_choice_strings.grdp
-@@ -98,6 +98,10 @@
+@@ -106,6 +106,10 @@
These search engines are popular in your region
diff --git a/patches/helium/core/search/remove-description-snippet-deps.patch b/patches/helium/core/search/remove-description-snippet-deps.patch
index cf623628..78bf23ba 100644
--- a/patches/helium/core/search/remove-description-snippet-deps.patch
+++ b/patches/helium/core/search/remove-description-snippet-deps.patch
@@ -15,7 +15,7 @@
[ "${root_gen_dir}/extensions/strings/extensions_strings_" ]
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
-@@ -57,10 +57,6 @@
+@@ -58,10 +58,6 @@
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
@@ -26,7 +26,7 @@
namespace {
const bool kEnableBuiltinSearchProviderAssets =
-@@ -1854,18 +1850,6 @@ std::string TemplateURL::GetBuiltinDescr
+@@ -1878,18 +1874,6 @@ std::string TemplateURL::GetBuiltinDescr
}
std::optional TemplateURL::GetBuiltinMarketingSnippet() const {
diff --git a/patches/helium/core/search/restore-google.patch b/patches/helium/core/search/restore-google.patch
index 4e9a744a..91aceb1f 100644
--- a/patches/helium/core/search/restore-google.patch
+++ b/patches/helium/core/search/restore-google.patch
@@ -1,6 +1,6 @@
--- a/third_party/search_engines_data/resources/definitions/prepopulated_engines.json
+++ b/third_party/search_engines_data/resources/definitions/prepopulated_engines.json
-@@ -166,30 +166,14 @@
+@@ -170,30 +170,14 @@
"id": 114
},
diff --git a/patches/helium/core/services-prefs.patch b/patches/helium/core/services-prefs.patch
index 8dfdb5eb..aa018c2a 100644
--- a/patches/helium/core/services-prefs.patch
+++ b/patches/helium/core/services-prefs.patch
@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1903,6 +1903,31 @@
+@@ -1911,6 +1911,31 @@
Safe Browsing (protection from dangerous sites) and other security settings
@@ -34,7 +34,7 @@
Google Advanced Protection Program
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1953,6 +1953,18 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1967,6 +1967,18 @@ void AddPrivacyStrings(content::WebUIDat
{"permissionsPageDescription", IDS_SETTINGS_PERMISSIONS_DESCRIPTION},
{"securityPageTitle", IDS_SETTINGS_SECURITY},
{"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION},
@@ -55,35 +55,38 @@
{"advancedProtectionProgramDesc",
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
-@@ -83,6 +83,11 @@
- sub-label="$i18n{permissionsPageDescription}"
- on-click="onPermissionsPageClick_"
- role-description="$i18n{subpageArrowRoleDescription}">
-+
-
- [[dbdDeletionConfirmationToastLabel_]]
-
-@@ -115,6 +120,13 @@
-
-
+@@ -67,6 +67,11 @@
+ sub-label="$i18n{permissionsPageDescription}"
+ on-click="onPermissionsPageClick_"
+ role-description="$i18n{subpageArrowRoleDescription}">
++
+
+ [[dbdDeletionConfirmationToastLabel_]]
+
+--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
++++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
+@@ -45,6 +45,14 @@
+
+
-+
-+
-+
-+
-+
++
++
++
++
+
-
-
+
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
-@@ -415,6 +415,12 @@ export class SettingsPrivacyPageElement
+@@ -171,6 +171,12 @@ export class SettingsPrivacyPageElement
Router.getInstance().navigateTo(routes.SITE_SETTINGS);
}
@@ -96,6 +99,27 @@
private onSecurityPageClick_() {
this.interactedWithPage_();
this.metricsBrowserProxy_.recordAction(
+@@ -253,6 +259,10 @@ export class SettingsPrivacyPageElement
+ override getFocusConfig() {
+ const map = new Map();
+
++ if (routes.HELIUM_SERVICES) {
++ map.set(routes.HELIUM_SERVICES.path, '#heliumServicesLinkRow');
++ }
++
+ if (routes.COOKIES) {
+ map.set(routes.COOKIES.path, '#thirdPartyCookiesLinkRow');
+ }
+@@ -286,6 +296,9 @@ export class SettingsPrivacyPageElement
+ override getAssociatedControlFor(childViewId: string): HTMLElement {
+ let triggerId: string|null = null;
+ switch (childViewId) {
++ case 'heliumServices':
++ triggerId = 'heliumServicesLinkRow';
++ break;
+ case 'cookies':
+ triggerId = 'thirdPartyCookiesLinkRow';
+ break;
--- a/chrome/browser/resources/settings/router.ts
+++ b/chrome/browser/resources/settings/router.ts
@@ -32,6 +32,7 @@ export interface SettingsRoutes {
@@ -119,7 +143,7 @@
if (visibility.safetyHub !== false) {
--- a/chrome/browser/resources/settings/BUILD.gn
+++ b/chrome/browser/resources/settings/BUILD.gn
-@@ -156,6 +156,7 @@ build_webui("build") {
+@@ -155,6 +155,7 @@ build_webui("build") {
"privacy_page/security_keys_subpage.ts",
"privacy_page/security_page_v2.ts",
"privacy_page/security_page.ts",
@@ -129,13 +153,14 @@
"privacy_sandbox/privacy_sandbox_interest_item.ts",
--- /dev/null
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
-@@ -0,0 +1,45 @@
+@@ -0,0 +1,47 @@
+
+
++
+
+
+
+
++
--- /dev/null
+++ b/chrome/browser/resources/settings/privacy_page/services_page.ts
@@ -0,0 +1,67 @@
@@ -254,8 +280,8 @@
+import './privacy_page/services_page.js';
import './safety_hub/safety_hub_page.js';
import './safety_hub/safety_hub_entry_point.js';
- import './site_settings/all_sites.js';
-@@ -212,6 +213,7 @@ export {ResetDialogPage, SettingsSecurit
+ import './site_settings/ads_page.js';
+@@ -243,6 +244,7 @@ export {ResetDialogPage, SettingsSecurit
export {SetPinDialogPage, SettingsSecurityKeysSetPinDialogElement} from './privacy_page/security_keys_set_pin_dialog.js';
export {SecurityKeysSubpageElement} from './privacy_page/security_keys_subpage.js';
export {HttpsFirstModeSetting, SafeBrowsingSetting, SettingsSecurityPageElement} from './privacy_page/security_page.js';
@@ -273,7 +299,7 @@
#include "components/policy/core/common/policy_pref_names.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_registry_simple.h"
-@@ -197,6 +198,11 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -201,6 +202,11 @@ void RegisterBrowserUserPrefs(user_prefs
false);
#endif
@@ -287,7 +313,7 @@
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -45,6 +45,7 @@
+@@ -46,6 +46,7 @@
#include "components/dom_distiller/core/pref_names.h"
#include "components/drive/drive_pref_names.h"
#include "components/embedder_support/pref_names.h"
@@ -295,7 +321,7 @@
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
#include "components/media_router/common/pref_names.h"
-@@ -350,6 +351,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -351,6 +352,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
settings_api::PrefType::kString;
#endif
diff --git a/patches/helium/core/split-view.patch b/patches/helium/core/split-view.patch
index ec671b2f..3fd1e511 100644
--- a/patches/helium/core/split-view.patch
+++ b/patches/helium/core/split-view.patch
@@ -1,24 +1,23 @@
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
-@@ -115,7 +115,7 @@ BASE_FEATURE(kReloadSelectionModel,
+@@ -107,14 +107,14 @@ BASE_FEATURE(kReloadSelectionModel, base
+ // Enforces close tab hotkey to only close the active view of a split tab,
// when it is the only tab in selection model.
BASE_FEATURE(kCloseActiveTabInSplitViewViaHotkey,
- "CloseActiveTabInSplitViewViaHotkey",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ base::FEATURE_ENABLED_BY_DEFAULT);
- // When enabled, a scrim is shown behind window modal dialogs to cover the
- // entire browser window. This gives user a visual cue that the browser window
-@@ -137,7 +137,7 @@ BASE_FEATURE(kShowTabGroupsMacSystemMenu
- base::FEATURE_DISABLED_BY_DEFAULT);
+ #if BUILDFLAG(IS_MAC)
+ // Add tab group colours when viewing tab groups using the top mac OS menu bar.
+ BASE_FEATURE(kShowTabGroupsMacSystemMenu, base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_MAC)
--BASE_FEATURE(kSideBySide, "SideBySide", base::FEATURE_DISABLED_BY_DEFAULT);
-+BASE_FEATURE(kSideBySide, "SideBySide", base::FEATURE_ENABLED_BY_DEFAULT);
+-BASE_FEATURE(kSideBySide, base::FEATURE_DISABLED_BY_DEFAULT);
++BASE_FEATURE(kSideBySide, base::FEATURE_ENABLED_BY_DEFAULT);
// The delay before showing the drop target for the side-by-side drag-and-drop
// entrypoint.
-@@ -155,17 +155,17 @@ BASE_FEATURE_PARAM(int,
+@@ -132,17 +132,17 @@ BASE_FEATURE_PARAM(int,
kSideBySideDropTargetMinWidth,
&kSideBySide,
"drop_target_min_width",
@@ -39,26 +38,33 @@
BASE_FEATURE_PARAM(int,
kSideBySideDropTargetHideForOSWidth,
&kSideBySide,
-@@ -270,7 +270,7 @@ BASE_FEATURE_PARAM(int,
+@@ -243,7 +243,7 @@ BASE_FEATURE_PARAM(int,
+
+ // When enabled along with SideBySide flag, split tabs will be restored on
// startup.
- BASE_FEATURE(kSideBySideSessionRestore,
- "SideBySideSessionRestore",
-- base::FEATURE_DISABLED_BY_DEFAULT);
-+ base::FEATURE_ENABLED_BY_DEFAULT);
+-BASE_FEATURE(kSideBySideSessionRestore, base::FEATURE_DISABLED_BY_DEFAULT);
++BASE_FEATURE(kSideBySideSessionRestore, base::FEATURE_ENABLED_BY_DEFAULT);
bool IsRestoringSplitViewEnabled() {
return base::FeatureList::IsEnabled(features::kSideBySide) &&
+@@ -252,7 +252,7 @@ bool IsRestoringSplitViewEnabled() {
+
+ BASE_FEATURE(kSideBySideLinkMenuNewBadge, base::FEATURE_DISABLED_BY_DEFAULT);
+
+-BASE_FEATURE(kSideBySideKeyboardShortcut, base::FEATURE_DISABLED_BY_DEFAULT);
++BASE_FEATURE(kSideBySideKeyboardShortcut, base::FEATURE_ENABLED_BY_DEFAULT);
+
+ bool IsSideBySideKeyboardShortcutEnabled() {
+ return base::FeatureList::IsEnabled(features::kSideBySide) &&
--- a/chrome/browser/ui/views/frame/multi_contents_resize_area.cc
+++ b/chrome/browser/ui/views/frame/multi_contents_resize_area.cc
-@@ -21,9 +21,9 @@
-
+@@ -24,8 +24,8 @@
namespace {
const int kHandleCornerRadius = 2;
--const int kHandleHeight = 24;
+ const int kHandleHeight = 24;
-const int kHandlePadding = 6;
-const int kHandleWidth = 4;
-+const int kHandleHeight = 32;
-+const int kHandlePadding = 1;
++const int kHandlePadding = 4;
+const int kHandleWidth = 2;
} // namespace
@@ -73,7 +79,7 @@
namespace content {
class WebContents;
-@@ -54,7 +53,7 @@ class MultiContentsView : public views::
+@@ -56,7 +55,7 @@ class MultiContentsView : public views::
double end_width = 0;
};
@@ -82,7 +88,7 @@
MultiContentsView(BrowserView* browser_view,
std::unique_ptr delegate);
-@@ -164,10 +163,6 @@ class MultiContentsView : public views::
+@@ -168,10 +167,6 @@ class MultiContentsView : public views::
return contents_container_views_[1]->contents_view();
}
@@ -90,10 +96,10 @@
- return contents_container_views_[index]->mini_toolbar();
- }
-
- private:
- FRIEND_TEST_ALL_PREFIXES(MultiContentsViewBrowserTest, DropTargetLayout);
- FRIEND_TEST_ALL_PREFIXES(MultiContentsViewBrowserTest, SeparatorLayout);
-@@ -265,10 +260,6 @@ class MultiContentsView : public views::
+ MultiContentsBackgroundView* background_view_for_testing() const {
+ return background_view_;
+ }
+@@ -280,10 +275,6 @@ class MultiContentsView : public views::
// Nullopt if not currently resizing.
std::optional initial_start_width_on_resize_;
@@ -117,7 +123,7 @@
line-height: 20px;
--- a/chrome/browser/ui/views/frame/multi_contents_view.cc
+++ b/chrome/browser/ui/views/frame/multi_contents_view.cc
-@@ -24,7 +24,6 @@
+@@ -26,7 +26,6 @@
#include "chrome/browser/ui/views/frame/multi_contents_resize_area.h"
#include "chrome/browser/ui/views/frame/multi_contents_view_delegate.h"
#include "chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.h"
@@ -125,7 +131,7 @@
#include "chrome/browser/ui/views/frame/scrim_view.h"
#include "chrome/browser/ui/views/frame/top_container_background.h"
#include "chrome/browser/ui/views/new_tab_footer/footer_web_view.h"
-@@ -51,11 +50,7 @@ MultiContentsView::MultiContentsView(
+@@ -57,11 +56,7 @@ MultiContentsView::MultiContentsView(
BrowserView* browser_view,
std::unique_ptr delegate)
: browser_view_(browser_view),
@@ -138,7 +144,7 @@
SetLayoutManager(std::make_unique(this));
SetProperty(views::kElementIdentifierKey, kMultiContentsViewElementId);
-@@ -334,11 +329,8 @@ void MultiContentsView::OnResize(int res
+@@ -360,11 +355,8 @@ void MultiContentsView::OnResize(int res
std::make_optional(contents_container_views_[0]->size().width());
}
double total_width = contents_container_views_[0]->size().width() +
@@ -151,7 +157,7 @@
static_cast(resize_amount));
// If end_width is within the snap point widths, update to the snap point.
-@@ -432,11 +424,6 @@ views::ProposedLayout MultiContentsView:
+@@ -473,11 +465,6 @@ views::ProposedLayout MultiContentsView:
gfx::Rect end_rect(resize_rect.top_right(),
gfx::Size(widths.end_width, available_space.height()));
@@ -163,7 +169,7 @@
layouts.child_layouts.emplace_back(contents_container_views_[0],
contents_container_views_[0]->GetVisible(),
start_rect);
-@@ -571,8 +558,10 @@ MultiContentsView::ViewWidths MultiConte
+@@ -612,8 +599,10 @@ MultiContentsView::ViewWidths MultiConte
widths.resize_width = resize_area_->GetPreferredSize().width();
widths.start_width =
start_ratio_ * (available_space.width() - widths.resize_width);
@@ -175,7 +181,7 @@
} else {
CHECK(!contents_container_views_[1]->GetVisible());
widths.start_width = available_space.width();
-@@ -645,10 +634,6 @@ void MultiContentsView::SetShouldShowTop
+@@ -686,10 +675,6 @@ void MultiContentsView::SetShouldShowTop
return;
}
contents_separators_.should_show_top = should_show;
@@ -186,7 +192,7 @@
InvalidateLayout();
}
-@@ -658,8 +643,6 @@ void MultiContentsView::SetShouldShowLea
+@@ -699,8 +684,6 @@ void MultiContentsView::SetShouldShowLea
return;
}
contents_separators_.should_show_leading = should_show;
@@ -195,7 +201,7 @@
InvalidateLayout();
}
-@@ -669,8 +652,6 @@ void MultiContentsView::SetShouldShowTra
+@@ -710,8 +693,6 @@ void MultiContentsView::SetShouldShowTra
return;
}
contents_separators_.should_show_trailing = should_show;
@@ -206,7 +212,7 @@
}
--- a/chrome/browser/ui/views/frame/contents_container_view.cc
+++ b/chrome/browser/ui/views/frame/contents_container_view.cc
-@@ -19,7 +19,6 @@
+@@ -20,7 +20,6 @@
#include "chrome/browser/ui/views/frame/contents_container_outline.h"
#include "chrome/browser/ui/views/frame/contents_separator.h"
#include "chrome/browser/ui/views/frame/contents_web_view.h"
@@ -214,7 +220,7 @@
#include "chrome/browser/ui/views/frame/scrim_view.h"
#include "chrome/browser/ui/views/frame/tab_modal_dialog_host.h"
#include "chrome/browser/ui/views/frame/top_container_view.h"
-@@ -50,10 +49,6 @@
+@@ -51,10 +50,6 @@
#endif
namespace {
@@ -225,7 +231,7 @@
constexpr int kNewTabFooterSeparatorHeight = 1;
constexpr int kNewTabFooterHeight = 56;
} // namespace
-@@ -121,14 +116,6 @@ ContentsContainerView::ContentsContainer
+@@ -122,14 +117,6 @@ ContentsContainerView::ContentsContainer
}
#endif
@@ -240,7 +246,7 @@
view_bounds_observer_.Observe(contents_view_);
}
-@@ -151,112 +138,11 @@ std::vector ContentsContai
+@@ -152,110 +139,11 @@ std::vector ContentsContai
void ContentsContainerView::UpdateBorderAndOverlay(bool is_in_split,
bool is_active,
bool is_highlighted) {
@@ -305,18 +311,15 @@
- ? content_upper_rounded_corners
- : content_rounded_corners;
-
+- contents_view_->SetBackgroundRadii(radii);
- contents_view_->holder()->SetCornerRadii(radii);
+- contents_scrim_view_->SetRoundedCorners(kContentRoundedCorners);
-
- if (new_tab_footer_view_) {
- new_tab_footer_view_->holder()->SetCornerRadii(
- content_lower_rounded_corners);
- }
-
-- if (contents_scrim_view_->layer()->rounded_corner_radii() !=
-- kContentRoundedCorners) {
-- contents_scrim_view_->SetRoundedCorners(kContentRoundedCorners);
-- }
--
-#if BUILDFLAG(ENABLE_GLIC)
- if (glic_border_) {
- glic_border_->SetRoundedCorners(content_rounded_corners);
@@ -330,6 +333,7 @@
- devtools_web_view_->holder()->SetCornerRadii(kNoRoundedCorners);
- devtools_scrim_view_->SetRoundedCorners(kNoRoundedCorners);
-
+- contents_view_->SetBackgroundRadii(kNoRoundedCorners);
- contents_view_->holder()->SetCornerRadii(kNoRoundedCorners);
-
- if (new_tab_footer_view_) {
@@ -355,7 +359,7 @@
}
void ContentsContainerView::Layout(PassKey pass_key) {
-@@ -270,9 +156,6 @@ void ContentsContainerView::Layout(PassK
+@@ -269,9 +157,6 @@ void ContentsContainerView::Layout(PassK
void ContentsContainerView::OnViewBoundsChanged(View* observed_view) {
if (observed_view == contents_view_) {
UpdateDevToolsDockedPlacement();
@@ -365,7 +369,7 @@
}
}
-@@ -519,30 +402,6 @@ views::ProposedLayout ContentsContainerV
+@@ -523,30 +408,6 @@ views::ProposedLayout ContentsContainerV
non_devtools_contents_bounds, size_bounds);
}
@@ -398,7 +402,7 @@
}
--- a/chrome/browser/ui/views/frame/contents_container_view.h
+++ b/chrome/browser/ui/views/frame/contents_container_view.h
-@@ -70,7 +70,6 @@ class ContentsContainerView : public vie
+@@ -71,7 +71,6 @@ class ContentsContainerView : public vie
std::vector GetAccessiblePanes();
ContentsWebView* contents_view() { return contents_view_; }
@@ -406,7 +410,7 @@
ScrimView* contents_scrim_view() { return contents_scrim_view_; }
views::WebView* devtools_web_view() { return devtools_web_view_; }
ScrimView* devtools_scrim_view() { return devtools_scrim_view_; }
-@@ -88,9 +87,6 @@ class ContentsContainerView : public vie
+@@ -91,9 +90,6 @@ class ContentsContainerView : public vie
enterprise_watermark::WatermarkView* watermark_view() {
return watermark_view_;
}
@@ -416,7 +420,7 @@
TabModalDialogHost* web_contents_modal_dialog_host() {
return &web_contents_modal_dialog_host_;
}
-@@ -125,9 +121,6 @@ class ContentsContainerView : public vie
+@@ -131,9 +127,6 @@ class ContentsContainerView : public vie
// container that holds both contents_webview and devtools_webview.
void UpdateDevToolsDockedPlacement();
@@ -426,7 +430,7 @@
// views::View:
void ChildVisibilityChanged(View* child) override;
void Layout(PassKey) override;
-@@ -174,10 +167,6 @@ class ContentsContainerView : public vie
+@@ -180,10 +173,6 @@ class ContentsContainerView : public vie
// The glic browser view that renders around the web contents area.
raw_ptr glic_border_ = nullptr;
@@ -439,7 +443,7 @@
--- a/chrome/browser/ui/views/frame/multi_contents_drop_target_view.cc
+++ b/chrome/browser/ui/views/frame/multi_contents_drop_target_view.cc
-@@ -41,11 +41,9 @@
+@@ -42,11 +42,9 @@
namespace {
@@ -453,7 +457,7 @@
} // namespace
-@@ -60,7 +58,6 @@ MultiContentsDropTargetView::MultiConten
+@@ -61,19 +59,12 @@ MultiContentsDropTargetView::MultiConten
->SetOrientation(views::LayoutOrientation::kVertical)
.SetMainAxisAlignment(views::LayoutAlignment::kCenter)
.SetCrossAxisAlignment(views::LayoutAlignment::kCenter)
@@ -461,39 +465,46 @@
.SetDefault(
views::kFlexBehaviorKey,
views::FlexSpecification(views::MinimumFlexSizeRule::kScaleToZero,
-@@ -68,9 +65,6 @@ MultiContentsDropTargetView::MultiConten
+ views::MaximumFlexSizeRule::kUnbounded));
auto inner_container = std::make_unique();
+- inner_container->SetPaintToLayer(ui::LAYER_SOLID_COLOR);
+- inner_container->layer()->SetName(
+- "MultiContentsDropTargetView/InnerContainer");
+- inner_container->layer()->SetRoundedCornerRadius(
+- gfx::RoundedCornersF(kInnerCornerRadius));
+- inner_container->layer()->SetIsFastRoundedCorner(true);
-- inner_container->SetBackground(views::CreateRoundedRectBackground(
-- ui::kColorSysSurface3, kInnerCornerRadius));
--
inner_container_layout_ =
&inner_container->SetLayoutManager(std::make_unique())
- ->SetOrientation(views::LayoutOrientation::kVertical)
-@@ -263,7 +257,7 @@ bool MultiContentsDropTargetView::Should
+@@ -92,13 +83,13 @@ MultiContentsDropTargetView::MultiConten
+ icon_view_->SetPaintToLayer(ui::LAYER_TEXTURED);
+ icon_view_->layer()->SetFillsBoundsOpaquely(false);
+ icon_view_->SetImage(ui::ImageModel::FromVectorIcon(
+- kAddCircleIcon, ui::kColorSysPrimary, kIconSize));
++ kAddCircleIcon, ui::kColorMenuIcon, kIconSize));
+
+ label_ = inner_container->AddChildView(std::make_unique(
+ l10n_util::GetStringUTF16(IDS_SPLIT_VIEW_DRAG_ENTRYPOINT_LABEL)));
+ label_->SetPaintToLayer(ui::LAYER_TEXTURED);
+ label_->layer()->SetFillsBoundsOpaquely(false);
+- label_->SetEnabledColor(ui::kColorSysPrimary);
++ label_->SetEnabledColor(ui::kColorMenuIcon);
+ label_->SetElideBehavior(gfx::NO_ELIDE);
+ label_->SetSubpixelRenderingEnabled(false);
+
+@@ -279,8 +270,6 @@ void MultiContentsDropTargetView::Disabl
+
void MultiContentsDropTargetView::OnThemeChanged() {
views::View::OnThemeChanged();
- const SkColor primary_color =
-- GetColorProvider()->GetColor(ui::kColorSysPrimary);
-+ GetColorProvider()->GetColor(ui::kColorMenuIcon);
- const ui::ImageModel icon_image_model =
- ui::ImageModel::FromVectorIcon(kAddCircleIcon, primary_color, kIconSize);
- icon_view_->SetImage(icon_image_model);
---- a/components/omnibox/common/omnibox_features.cc
-+++ b/components/omnibox/common/omnibox_features.cc
-@@ -386,7 +386,7 @@ BASE_FEATURE(kPreconnectNonSearchOmnibox
- // "invisible focus".
- BASE_FEATURE(kOmniboxRestoreInvisibleFocusOnly,
- "OmniboxRestoreInvisibleFocusOnly",
-- DISABLED);
-+ ENABLED);
+- inner_container_->layer()->SetColor(
+- GetColorProvider()->GetColor(ui::kColorSysSurface3));
+ }
- // Enabls adding an aim shortcut in the typed state.
- BASE_FEATURE(kOmniboxAimShortcutTypedState,
+ bool MultiContentsDropTargetView::GetDropFormats(
--- a/chrome/browser/ui/views/frame/browser_view_layout.cc
+++ b/chrome/browser/ui/views/frame/browser_view_layout.cc
-@@ -872,27 +872,6 @@ void BrowserViewLayout::LayoutContentsCo
+@@ -874,27 +874,6 @@ void BrowserViewLayout::LayoutContentsCo
!layout_result.side_panel_right_aligned);
left_aligned_side_panel_separator_->SetBoundsRect(
layout_result.separator_bounds);
@@ -523,15 +534,15 @@
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
-@@ -132,7 +132,6 @@
+@@ -136,7 +136,6 @@
#include "chrome/browser/ui/views/frame/multi_contents_view.h"
#include "chrome/browser/ui/views/frame/multi_contents_view_delegate.h"
#include "chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.h"
-#include "chrome/browser/ui/views/frame/multi_contents_view_mini_toolbar.h"
- #include "chrome/browser/ui/views/frame/native_browser_frame.h"
#include "chrome/browser/ui/views/frame/scrim_view.h"
#include "chrome/browser/ui/views/frame/tab_modal_dialog_host.h"
-@@ -2356,12 +2355,6 @@ void BrowserView::UpdateToolbar(content:
+ #include "chrome/browser/ui/views/frame/tab_strip_region_view.h"
+@@ -2209,12 +2208,6 @@ void BrowserView::UpdateToolbar(content:
if (toolbar_) {
toolbar_->Update(contents);
}
@@ -614,17 +625,17 @@
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
-@@ -498,8 +498,12 @@ void ReloadInternal(Browser* browser,
- browser->tab_strip_model()->GetActiveWebContents();
+@@ -499,8 +499,12 @@ void ReloadInternal(BrowserWindowInterfa
+ WebContents* const active_contents = tab_strip_model->GetActiveWebContents();
std::vector tabs_to_reload;
+ const bool only_active_split_tab_selected =
-+ browser->tab_strip_model()->IsActiveTabSplit() &&
-+ browser->tab_strip_model()->selection_model().size() == 2;
++ browser->GetTabStripModel()->IsActiveTabSplit() &&
++ browser->GetTabStripModel()->selection_model().size() == 2;
- if (base::FeatureList::IsEnabled(features::kReloadSelectionModel)) {
-+ if (base::FeatureList::IsEnabled(features::kReloadSelectionModel)
-+ || only_active_split_tab_selected) {
- tabs_to_reload.push_back(
- browser->tab_strip_model()->GetActiveWebContents());
++ if (base::FeatureList::IsEnabled(features::kReloadSelectionModel) ||
++ only_active_split_tab_selected) {
+ tabs_to_reload.push_back(active_contents);
} else {
+ // Reloading a tab may change the selection (see crbug.com/339061099), so
diff --git a/patches/helium/core/spoof-extension-downloader-platform.patch b/patches/helium/core/spoof-extension-downloader-platform.patch
index 72dd1d8b..bcb34cae 100644
--- a/patches/helium/core/spoof-extension-downloader-platform.patch
+++ b/patches/helium/core/spoof-extension-downloader-platform.patch
@@ -1,6 +1,6 @@
--- a/components/update_client/update_query_params.h
+++ b/components/update_client/update_query_params.h
-@@ -18,7 +18,7 @@ class UpdateQueryParamsDelegate;
+@@ -19,7 +19,7 @@ class UpdateQueryParamsDelegate;
// browser process.
class UpdateQueryParams {
public:
@@ -11,7 +11,7 @@
UpdateQueryParams(const UpdateQueryParams&) = delete;
--- a/components/update_client/update_query_params.cc
+++ b/components/update_client/update_query_params.cc
-@@ -68,7 +68,7 @@ const char kArch[] =
+@@ -68,7 +68,7 @@ constexpr std::string_view kArch =
#error "unknown arch"
#endif
@@ -41,7 +41,7 @@
return kWebView;
--- a/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
+++ b/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
-@@ -43,7 +43,7 @@ ChromeExtensionDownloaderFactory::Create
+@@ -46,7 +46,7 @@ ChromeExtensionDownloaderFactory::Create
}
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
std::string manifest_query_params =
@@ -52,7 +52,7 @@
if (command_line->HasSwitch(extensions::kSwitchTestRequestParam)) {
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
-@@ -209,7 +209,7 @@ GURL WebstoreInstaller::GetWebstoreInsta
+@@ -212,7 +212,7 @@ GURL WebstoreInstaller::GetWebstoreInsta
GURL url(
url_string + "?response=redirect&" +
update_client::UpdateQueryParams::Get(
diff --git a/patches/helium/core/ublock-helium-services.patch b/patches/helium/core/ublock-helium-services.patch
index c45b6953..3cd28b9c 100644
--- a/patches/helium/core/ublock-helium-services.patch
+++ b/patches/helium/core/ublock-helium-services.patch
@@ -57,7 +57,7 @@
#endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -368,6 +368,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+@@ -369,6 +369,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
settings_api::PrefType::kBoolean;
(*s_allowlist)[::prefs::kHeliumUpdateFetchingEnabled] =
settings_api::PrefType::kBoolean;
@@ -68,7 +68,7 @@
(*s_allowlist)[::prefs::kHeliumServicesConsented] =
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -216,6 +216,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -220,6 +220,7 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false);
registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false);
registry->RegisterBooleanPref(prefs::kHeliumUpdateFetchingEnabled, true);
@@ -96,7 +96,7 @@
#include "components/policy/core/common/policy_pref_names.h"
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
#include "content/public/browser/browser_thread.h"
-@@ -199,6 +203,7 @@ ExtensionService::ExtensionService(
+@@ -205,6 +209,7 @@ ExtensionService::ExtensionService(
ready_(ready),
updater_(ExtensionUpdater::Get(profile)),
component_loader_(ComponentLoader::Get(profile_)),
@@ -104,7 +104,7 @@
error_controller_(error_controller),
external_install_manager_(ExternalInstallManager::Get(profile)),
extension_registrar_delegate_(
-@@ -272,6 +277,33 @@ ExtensionService::ExtensionService(
+@@ -278,6 +283,33 @@ ExtensionService::ExtensionService(
prefs::kExtensionsUIDeveloperMode,
base::BindRepeating(&ExtensionService::OnDeveloperModePrefChanged,
base::Unretained(this)));
@@ -217,7 +217,7 @@
if ( bin.assetSourceRegistry instanceof Object ) {
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1955,6 +1955,12 @@
+@@ -1963,6 +1963,12 @@
Helium will automatically download and install browser updates as they become available. We recommend keeping this setting enabled to ensure you get the latest security patches and features.
@@ -232,7 +232,7 @@
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
-@@ -68,6 +68,11 @@
+@@ -69,6 +69,11 @@
sub-label="$i18n{heliumUpdatesToggleDescription}">
@@ -246,7 +246,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1973,6 +1973,10 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1987,6 +1987,10 @@ void AddPrivacyStrings(content::WebUIDat
IDS_SETTINGS_HELIUM_SERVICES_UPDATE},
{"heliumUpdatesToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION},
diff --git a/patches/helium/core/ublock-install-as-component.patch b/patches/helium/core/ublock-install-as-component.patch
index 27effbf2..38b106a6 100644
--- a/patches/helium/core/ublock-install-as-component.patch
+++ b/patches/helium/core/ublock-install-as-component.patch
@@ -31,7 +31,7 @@
void AddChromeApp();
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
-@@ -57,6 +57,7 @@
+@@ -58,6 +58,7 @@
#include "ui/accessibility/accessibility_features.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
@@ -39,7 +39,7 @@
#if BUILDFLAG(IS_CHROMEOS)
#include "ash/constants/ash_features.h"
-@@ -429,6 +430,21 @@ void ComponentLoader::AddWebStoreApp() {
+@@ -430,6 +431,21 @@ void ComponentLoader::AddWebStoreApp() {
l10n_util::GetStringUTF8(IDS_WEBSTORE_APP_DESCRIPTION));
}
@@ -61,7 +61,7 @@
#if BUILDFLAG(IS_CHROMEOS)
void ComponentLoader::AddChromeApp() {
AddWithNameAndDescription(
-@@ -506,6 +522,7 @@ void ComponentLoader::AddDefaultComponen
+@@ -507,6 +523,7 @@ void ComponentLoader::AddDefaultComponen
if (!skip_session_components) {
AddWebStoreApp();
@@ -71,18 +71,19 @@
#endif // BUILDFLAG(IS_CHROMEOS)
--- a/chrome/browser/extensions/component_extensions_allowlist/allowlist.cc
+++ b/chrome/browser/extensions/component_extensions_allowlist/allowlist.cc
-@@ -15,8 +15,10 @@
+@@ -15,9 +15,11 @@
#include "chrome/common/buildflags.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/grit/browser_resources.h"
+#include "components/helium_services/extension_ids.h"
+ #include "extensions/buildflags/buildflags.h"
#include "extensions/common/constants.h"
#include "printing/buildflags/buildflags.h"
+#include "third_party/ublock/resources/grit/ublock_resources.h"
#if BUILDFLAG(IS_CHROMEOS)
#include "ash/keyboard/ui/grit/keyboard_resources.h"
-@@ -31,6 +33,7 @@ bool IsComponentExtensionAllowlisted(con
+@@ -34,6 +36,7 @@ bool IsComponentExtensionAllowlisted(con
constexpr auto kAllowed = base::MakeFixedFlatSet
({
extension_misc::kInAppPaymentsSupportAppId,
extension_misc::kPdfExtensionId,
@@ -90,7 +91,7 @@
#if BUILDFLAG(IS_CHROMEOS)
extension_misc::kAssessmentAssistantExtensionId,
extension_misc::kAccessibilityCommonExtensionId,
-@@ -86,6 +89,7 @@ bool IsComponentExtensionAllowlisted(int
+@@ -89,6 +92,7 @@ bool IsComponentExtensionAllowlisted(int
case IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST_MV3:
case IDR_READING_MODE_GDOCS_HELPER_MANIFEST:
case IDR_WEBSTORE_MANIFEST:
diff --git a/patches/helium/core/ublock-migrate-prefs.patch b/patches/helium/core/ublock-migrate-prefs.patch
index c3015f42..69baf713 100644
--- a/patches/helium/core/ublock-migrate-prefs.patch
+++ b/patches/helium/core/ublock-migrate-prefs.patch
@@ -18,7 +18,7 @@
#include "extensions/browser/delayed_install_manager.h"
#include "extensions/browser/disable_reason.h"
#include "extensions/browser/extension_file_task_runner.h"
-@@ -248,7 +252,85 @@ void ChromeExtensionRegistrarDelegate::P
+@@ -251,7 +255,85 @@ void ChromeExtensionRegistrarDelegate::P
}
}
diff --git a/patches/helium/core/ublock-reconfigure-defaults.patch b/patches/helium/core/ublock-reconfigure-defaults.patch
index c9ffe9ca..8bae1b0b 100644
--- a/patches/helium/core/ublock-reconfigure-defaults.patch
+++ b/patches/helium/core/ublock-reconfigure-defaults.patch
@@ -21,7 +21,7 @@
location <= mojom::ManifestLocation::kMaxValue;
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -6321,7 +6321,8 @@ void AddChromeSchemeFactories(
+@@ -6264,7 +6264,8 @@ void AddChromeSchemeFactories(
std::vector allowed_webui_hosts;
// Support for chrome:// scheme if appropriate.
if ((extension->is_extension() || extension->is_platform_app()) &&
@@ -104,7 +104,7 @@
auto& context_permissions = GetContextPermissions(*context_id_);
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
-@@ -186,7 +186,8 @@ void SetIsIncognitoEnabled(const std::st
+@@ -189,7 +189,8 @@ void SetIsIncognitoEnabled(const std::st
#if !BUILDFLAG(IS_ANDROID)
// TODO(treib,kalman): Should this be Manifest::IsComponentLocation(..)?
// (which also checks for kExternalComponent).
@@ -116,8 +116,8 @@
// See http://crbug.com/112290 and associated CLs for the sordid history.
--- a/chrome/browser/extensions/standard_management_policy_provider.cc
+++ b/chrome/browser/extensions/standard_management_policy_provider.cc
-@@ -27,6 +27,14 @@ namespace {
- bool AdminPolicyIsModifiable(const Extension* source_extension,
+@@ -29,6 +29,14 @@ bool AdminPolicyIsModifiable(ExtensionMa
+ const Extension* source_extension,
const Extension* extension,
std::u16string* error) {
+ bool is_u0 = Manifest::IsUBlockComponent(extension->id());
@@ -131,7 +131,7 @@
// Component and force installed extensions can enable/disable all other
// extensions including force installed ones (but component are off limits).
const bool component_or_force_installed =
-@@ -239,6 +247,11 @@ bool StandardManagementPolicyProvider::M
+@@ -257,6 +265,11 @@ bool StandardManagementPolicyProvider::M
const Extension* extension,
std::u16string* error) const {
ManagedInstallationMode mode = settings_->GetInstallationMode(extension);
@@ -205,7 +205,7 @@
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(pref_names::kDeletedComponentExtensions);
registry->RegisterDictionaryPref(kExtensionsBlocklistUpdate);
-@@ -2289,14 +2301,14 @@ bool ExtensionPrefs::GetUserExtensionPre
+@@ -2295,14 +2307,14 @@ bool ExtensionPrefs::GetUserExtensionPre
ExtensionIdContainer* id_container_out) const {
DCHECK(id_container_out->empty());
diff --git a/patches/helium/core/ublock-setup-sources.patch b/patches/helium/core/ublock-setup-sources.patch
index d0839f0b..97d76ae9 100644
--- a/patches/helium/core/ublock-setup-sources.patch
+++ b/patches/helium/core/ublock-setup-sources.patch
@@ -93,7 +93,7 @@
+ ))
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
-@@ -196,7 +196,7 @@
+@@ -202,7 +202,7 @@
"META": {"sizes": {"includes": [500]}},
"includes": [2850],
},
@@ -104,7 +104,7 @@
},
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
-@@ -602,6 +602,7 @@ source_set("extensions") {
+@@ -599,6 +599,7 @@ source_set("extensions") {
"//net:extras",
"//services/metrics/public/cpp:ukm_builders",
"//storage/browser",
@@ -132,7 +132,7 @@
]
--- a/chrome/browser/extensions/chrome_component_extension_resource_manager.cc
+++ b/chrome/browser/extensions/chrome_component_extension_resource_manager.cc
-@@ -24,6 +24,7 @@
+@@ -25,6 +25,7 @@
#include "extensions/common/extension_id.h"
#include "pdf/buildflags.h"
#include "ui/base/resource/resource_bundle.h"
@@ -140,7 +140,7 @@
#if BUILDFLAG(IS_CHROMEOS)
#include "ash/keyboard/ui/resources/keyboard_resource_util.h"
-@@ -92,6 +93,7 @@ ChromeComponentExtensionResourceManager:
+@@ -95,6 +96,7 @@ ChromeComponentExtensionResourceManager:
AddComponentResourceEntries(kComponentExtensionResources);
AddComponentResourceEntries(kExtraComponentExtensionResources);
diff --git a/patches/helium/core/unbreak-chromium-link.patch b/patches/helium/core/unbreak-chromium-link.patch
index e4a5db45..9bfd1efc 100644
--- a/patches/helium/core/unbreak-chromium-link.patch
+++ b/patches/helium/core/unbreak-chromium-link.patch
@@ -1,6 +1,6 @@
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
-@@ -198,7 +198,7 @@ inline constexpr char kChromeUIUntrusted
+@@ -193,7 +193,7 @@ inline constexpr char kChromeUIUntrusted
"chrome-untrusted://new-tab-page/";
// The URL for the Chromium project used in the About dialog.
diff --git a/patches/helium/core/update-credits.patch b/patches/helium/core/update-credits.patch
index 8dcc797f..9a87ec9f 100644
--- a/patches/helium/core/update-credits.patch
+++ b/patches/helium/core/update-credits.patch
@@ -1,6 +1,6 @@
--- a/tools/licenses/licenses.py
+++ b/tools/licenses/licenses.py
-@@ -1069,8 +1069,8 @@ def GenerateCredits(file_template_file,
+@@ -1072,8 +1072,8 @@ def GenerateCredits(file_template_file,
reciprocal_template = codecs.open(reciprocal_template_file,
encoding='utf-8').read()
reciprocal_contents = EvaluateTemplate(reciprocal_template, {
diff --git a/patches/helium/core/update-default-browser-prefs.patch b/patches/helium/core/update-default-browser-prefs.patch
index 63059762..96bd138a 100644
--- a/patches/helium/core/update-default-browser-prefs.patch
+++ b/patches/helium/core/update-default-browser-prefs.patch
@@ -9,7 +9,7 @@
#if defined(USE_AURA)
registry->RegisterBooleanPref(prefs::kOverscrollHistoryNavigationEnabled,
-@@ -146,7 +146,7 @@ void RegisterBrowserUserPrefs(user_prefs
+@@ -150,7 +150,7 @@ void RegisterBrowserUserPrefs(user_prefs
// We need to register the type of these preferences in order to query
// them even though they're only typically controlled via policy.
diff --git a/patches/helium/hop/setup.patch b/patches/helium/hop/setup.patch
index 21ae05d0..97eea7c9 100644
--- a/patches/helium/hop/setup.patch
+++ b/patches/helium/hop/setup.patch
@@ -8,7 +8,7 @@
#include "components/policy/core/common/local_test_policy_provider.h"
#include "components/policy/core/common/policy_logger.h"
#include "components/policy/core/common/policy_map.h"
-@@ -278,6 +279,12 @@ void ChromeBrowserPolicyConnector::SetDe
+@@ -284,6 +285,12 @@ void ChromeBrowserPolicyConnector::SetDe
std::vector>
ChromeBrowserPolicyConnector::CreatePolicyProviders() {
auto providers = BrowserPolicyConnector::CreatePolicyProviders();
@@ -23,7 +23,7 @@
if (platform_provider) {
--- a/chrome/browser/policy/chrome_browser_policy_connector.h
+++ b/chrome/browser/policy/chrome_browser_policy_connector.h
-@@ -109,6 +109,10 @@ class ChromeBrowserPolicyConnector : pub
+@@ -114,6 +114,10 @@ class ChromeBrowserPolicyConnector : pub
return command_line_provider_;
}
@@ -34,7 +34,7 @@
// Set ProxyPolicyProvider for testing, caller needs to init and shutdown the
// provider.
void SetProxyPolicyProviderForTesting(
-@@ -183,6 +187,9 @@ class ChromeBrowserPolicyConnector : pub
+@@ -188,6 +192,9 @@ class ChromeBrowserPolicyConnector : pub
// Owned by base class.
raw_ptr command_line_provider_ = nullptr;
@@ -187,7 +187,7 @@
// Raise the priority of cloud machine policies only when the metapolicy
--- a/chrome/browser/ui/webui/policy/policy_ui.cc
+++ b/chrome/browser/ui/webui/policy/policy_ui.cc
-@@ -230,6 +230,7 @@ void CreateAndAddPolicyUIHtmlSource(Prof
+@@ -228,6 +228,7 @@ void CreateAndAddPolicyUIHtmlSource(Prof
{"sourceCloudFromAsh", IDS_POLICY_SOURCE_CLOUD_FROM_ASH},
{"sourceRestrictedManagedGuestSessionOverride",
IDS_POLICY_SOURCE_RESTRICTED_MANAGED_GUEST_SESSION_OVERRIDE},
@@ -195,16 +195,16 @@
};
source->AddLocalizedStrings(kPolicyTestTypes);
---- a/components/policy/core/browser/policy_conversions.cc
-+++ b/components/policy/core/browser/policy_conversions.cc
-@@ -32,6 +32,7 @@ const webui::LocalizedString kPolicySour
- {"cloud_from_ash", IDS_POLICY_SOURCE_CLOUD_FROM_ASH},
- {"restrictedManagedGuestSessionOverride",
- IDS_POLICY_SOURCE_RESTRICTED_MANAGED_GUEST_SESSION_OVERRIDE},
-+ {"hop", IDS_POLICY_SOURCE_HOP},
- };
+--- a/components/policy/core/browser/policy_conversions.h
++++ b/components/policy/core/browser/policy_conversions.h
+@@ -40,6 +40,7 @@ inline constexpr auto kPolicySources =
+ {"cloud_from_ash", IDS_POLICY_SOURCE_CLOUD_FROM_ASH},
+ {"restrictedManagedGuestSessionOverride",
+ IDS_POLICY_SOURCE_RESTRICTED_MANAGED_GUEST_SESSION_OVERRIDE},
++ {"hop", IDS_POLICY_SOURCE_HOP},
+ });
- const char kIdKey[] = "id";
+ inline constexpr char kIdKey[] = "id";
--- a/components/policy_strings.grdp
+++ b/components/policy_strings.grdp
@@ -687,6 +687,9 @@ Additional details:
diff --git a/patches/helium/settings/disable-safety-hub-page.patch b/patches/helium/settings/disable-safety-hub-page.patch
index 73d772bb..1c39c3bc 100644
--- a/patches/helium/settings/disable-safety-hub-page.patch
+++ b/patches/helium/settings/disable-safety-hub-page.patch
@@ -18,5 +18,5 @@
- if (visibility.safetyHub !== false) {
+ if (visibility.safetyHub = false) {
r.SAFETY_HUB = r.PRIVACY.createChild('/safetyCheck');
- r.SAFETY_HUB.hasMigratedToPlugin = true;
}
+
diff --git a/patches/helium/settings/fix-appearance-page.patch b/patches/helium/settings/fix-appearance-page.patch
index eeddac96..2db0b6b1 100644
--- a/patches/helium/settings/fix-appearance-page.patch
+++ b/patches/helium/settings/fix-appearance-page.patch
@@ -21,7 +21,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -518,7 +518,7 @@ void AddAppearanceStrings(content::WebUI
+@@ -520,7 +520,7 @@ void AddAppearanceStrings(content::WebUI
IDS_SETTINGS_ALLOW_SPLIT_VIEW_DRAG_AND_DROP},
{"showTabGroupsInBookmarksBar",
IDS_SETTINGS_SHOW_TAB_GROUPS_IN_BOOKMARKS_BAR},
@@ -30,7 +30,7 @@
{"hoverCardTitle", IDS_SETTINGS_HOVER_CARD_TITLE},
{"showHoverCardImages", IDS_SETTINGS_SHOW_HOVER_CARD_IMAGES},
{"showHoverCardMemoryUsage", IDS_SETTINGS_SHOW_HOVER_CARD_MEMORY_USAGE},
-@@ -550,9 +550,7 @@ void AddAppearanceStrings(content::WebUI
+@@ -552,9 +552,7 @@ void AddAppearanceStrings(content::WebUI
{"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
{"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME},
#endif
diff --git a/patches/helium/settings/fix-page-names.patch b/patches/helium/settings/fix-page-names.patch
index 481efc4b..9b9fe49e 100644
--- a/patches/helium/settings/fix-page-names.patch
+++ b/patches/helium/settings/fix-page-names.patch
@@ -1,6 +1,6 @@
--- a/chrome/browser/ui/webui/cr_components/history/history_util.cc
+++ b/chrome/browser/ui/webui/cr_components/history/history_util.cc
-@@ -50,7 +50,7 @@ content::WebUIDataSource* HistoryUtil::P
+@@ -51,7 +51,7 @@ content::WebUIDataSource* HistoryUtil::P
{"foundSearchResults", IDS_HISTORY_FOUND_SEARCH_RESULTS},
{"actorTaskTooltip", IDS_ACTOR_TASK},
{"historyMenuButton", IDS_HISTORY_HISTORY_MENU_DESCRIPTION},
@@ -11,7 +11,7 @@
{"loading", IDS_HISTORY_LOADING},
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1797,7 +1797,7 @@ void AddSyncControlsStrings(content::Web
+@@ -1811,7 +1811,7 @@ void AddSyncControlsStrings(content::Web
void AddPeopleStrings(content::WebUIDataSource* html_source, Profile* profile) {
static constexpr webui::LocalizedString kLocalizedStrings[] = {
// Top level people strings:
diff --git a/patches/helium/settings/fix-text-on-cookies-page.patch b/patches/helium/settings/fix-text-on-cookies-page.patch
index 3f6ef843..8c9b0f2c 100644
--- a/patches/helium/settings/fix-text-on-cookies-page.patch
+++ b/patches/helium/settings/fix-text-on-cookies-page.patch
@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1900,6 +1900,9 @@
+@@ -1908,6 +1908,9 @@
Enabling "Do Not Track" means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted. For example, some websites may respond to this request by showing you ads that aren't based on other websites you've visited. Many websites will still collect and use your browsing data - for example to improve security, to provide content, services, ads and recommendations on their websites, and to generate reporting statistics.
@@ -10,7 +10,7 @@
Learn more about Do Not Track
-@@ -3107,6 +3110,9 @@
+@@ -3144,6 +3147,9 @@
Affects the sites listed here. Inserting “[*.]” before a domain name creates an exception for the entire domain. For example, adding “[*.]google.com” means that third-party cookies can also be active for mail.google.com, because it’s part of google.com.
@@ -22,7 +22,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1945,7 +1945,7 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1959,7 +1959,7 @@ void AddPrivacyStrings(content::WebUIDat
{"privacyPageMore", IDS_SETTINGS_PRIVACY_MORE},
{"doNotTrack", IDS_SETTINGS_ENABLE_DO_NOT_TRACK},
{"doNotTrackDialogTitle", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TITLE},
@@ -31,7 +31,7 @@
{"doNotTrackDialogLearnMoreA11yLabel",
IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL},
// TODO(crbug.com/40122957): This string is no longer used. Remove.
-@@ -2642,7 +2642,7 @@ void AddSiteSettingsStrings(content::Web
+@@ -2668,7 +2668,7 @@ void AddSiteSettingsStrings(content::Web
{"trackingProtectionSitesAllowedCookiesTitle",
IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_TITLE},
{"trackingProtectionSitesAllowedCookiesDescription",
diff --git a/patches/helium/settings/move-search-suggest.patch b/patches/helium/settings/move-search-suggest.patch
index 0ed5a678..9adf6c16 100644
--- a/patches/helium/settings/move-search-suggest.patch
+++ b/patches/helium/settings/move-search-suggest.patch
@@ -33,7 +33,7 @@
it is alays selected but disabled. -->
--- a/chrome/browser/resources/settings/privacy_page/personalization_options.ts
+++ b/chrome/browser/resources/settings/privacy_page/personalization_options.ts
-@@ -250,14 +250,6 @@ export class SettingsPersonalizationOpti
+@@ -256,14 +256,6 @@ export class SettingsPersonalizationOpti
}
//
@@ -50,15 +50,13 @@
window.location.href = url;
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
-@@ -221,11 +221,6 @@ function createRoutes(): SettingsRoutes
+@@ -192,9 +192,6 @@ function createRoutes(): SettingsRoutes
+ }
r.MANAGE_PROFILE = r.PEOPLE.createChild('/manageProfile');
- r.MANAGE_PROFILE.hasMigratedToPlugin = true;
//
-
- r.SYNC = r.PEOPLE.createChild('/syncSetup');
-- r.SYNC.hasMigratedToPlugin = true;
- r.SYNC_ADVANCED = r.SYNC.createChild('/syncSetup/advanced');
-- r.SYNC_ADVANCED.hasMigratedToPlugin = true;
}
if (visibility.ai !== false && loadTimeData.getBoolean('showAiPage')) {
diff --git a/patches/helium/settings/privacy-page-tweaks.patch b/patches/helium/settings/privacy-page-tweaks.patch
index c7d3e97f..a193cc71 100644
--- a/patches/helium/settings/privacy-page-tweaks.patch
+++ b/patches/helium/settings/privacy-page-tweaks.patch
@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
-@@ -1913,6 +1913,12 @@
+@@ -1921,6 +1921,12 @@
users to manage security settings">
Security
@@ -15,7 +15,7 @@
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -1950,9 +1950,9 @@ void AddPrivacyStrings(content::WebUIDat
+@@ -1964,9 +1964,9 @@ void AddPrivacyStrings(content::WebUIDat
IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL},
// TODO(crbug.com/40122957): This string is no longer used. Remove.
{"permissionsPageTitle", IDS_SETTINGS_PERMISSIONS},
@@ -29,41 +29,41 @@
{"heliumServicesSetupPendingText", IDS_SETTINGS_HELIUM_SERVICES_SETUP_PENDING_TEXT},
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
-@@ -39,6 +39,7 @@
- label="$i18n{clearBrowsingData}"
- sub-label="$i18n{clearBrowsingDataDescription}"
- on-click="onClearBrowsingDataClick_">
-+
-
-
-+
-
-
-
-
--
-
-+
-
++
+
+
++
+
+
+
+
+-
+
++
+
+-
-