mirror of
https://github.com/morgan9e/helium
synced 2026-04-14 00:14:20 +09:00
helium/core/services: component updates and schema 1 changelog (#591)
This commit is contained in:
@@ -724,7 +724,7 @@
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetDummyURL();
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2132,6 +2132,9 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
@@ -2134,6 +2134,9 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE},
|
||||
{"heliumExtProxyToggleDescription",
|
||||
IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE_DESCRIPTION},
|
||||
@@ -736,7 +736,7 @@
|
||||
IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE_DESCRIPTION},
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -1987,6 +1987,12 @@
|
||||
@@ -1990,6 +1990,12 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE_DESCRIPTION" desc="Description of the toggle for enabling/disabling of downloading and proxying extensions">
|
||||
When enabled, Helium will proxy extension downloads and updates to protect your privacy. When disabled, downloading and updating extensions will not work.
|
||||
</message>
|
||||
@@ -751,7 +751,7 @@
|
||||
</message>
|
||||
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
@@ -89,6 +89,11 @@
|
||||
@@ -92,6 +92,11 @@
|
||||
label="$i18n{heliumExtProxyToggle}"
|
||||
sub-label="$i18n{heliumExtProxyToggleDescription}">
|
||||
</settings-toggle-button>
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
TODO: guard services_page.html with is_mac
|
||||
|
||||
--- a/components/helium_services/pref_names.h
|
||||
+++ b/components/helium_services/pref_names.h
|
||||
@@ -33,6 +33,9 @@ inline constexpr char kHeliumExtProxyEna
|
||||
@@ -78,23 +76,21 @@ TODO: guard services_page.html with is_mac
|
||||
registrar.Add(prefs::kHeliumServicesEnabled, observer);
|
||||
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
@@ -101,6 +101,13 @@
|
||||
@@ -104,6 +104,11 @@
|
||||
sub-label="$i18n{heliumSpellcheckToggleDescription}">
|
||||
</settings-toggle-button>
|
||||
</if>
|
||||
+ <if expr="is_macosx">
|
||||
+ <settings-toggle-button id="updatesToggleButton"
|
||||
+ pref="{{prefs.helium.services.browser_updates}}"
|
||||
+ label="$i18n{heliumUpdatesToggle}"
|
||||
+ sub-label="$i18n{heliumUpdatesToggleDescription}">
|
||||
+ </settings-toggle-button>
|
||||
+ </if>
|
||||
+ <settings-toggle-button id="updatesToggleButton"
|
||||
+ pref="{{prefs.helium.services.browser_updates}}"
|
||||
+ label="$i18n{heliumUpdatesToggle}"
|
||||
+ sub-label="$i18n{heliumUpdatesToggleDescription}">
|
||||
+ </settings-toggle-button>
|
||||
</cr-collapse>
|
||||
</div>
|
||||
</template>
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2138,6 +2138,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
@@ -2140,6 +2140,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
{"heliumSpellcheckToggle", IDS_SETTINGS_HELIUM_SERVICES_SPELLCHECK_TOGGLE},
|
||||
{"heliumSpellcheckToggleDescription",
|
||||
IDS_SETTINGS_HELIUM_SERVICES_SPELLCHECK_TOGGLE_DESCRIPTION},
|
||||
@@ -128,16 +124,23 @@ TODO: guard services_page.html with is_mac
|
||||
registry->RegisterBooleanPref(
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2002,6 +2002,12 @@
|
||||
@@ -2005,6 +2005,19 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_SPELLCHECK_TOGGLE_DESCRIPTION" desc="Description of the for enabling/disabling of downloading spellcheck files">
|
||||
Helium will fetch dictionary files used for spell checking when requested. When disabled, spell checking will not work.
|
||||
</message>
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_UPDATE" desc="Toggle for automatic update downloads">
|
||||
+ Allow automatic browser updates
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION" desc="Description of the toggle for automatic update downloads">
|
||||
+ 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.
|
||||
+ Allow automatic browser and component updates
|
||||
+ </message>
|
||||
+ <if expr="is_macosx">
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION" desc="Description of the toggle for automatic update downloads">
|
||||
+ Helium will automatically download and install browser and component updates as they become available. We recommend keeping this setting enabled to ensure you get the latest features and security updates.
|
||||
+ </message>
|
||||
+ </if>
|
||||
+ <if expr="not is_macosx">
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION" desc="Description of the toggle for automatic update downloads">
|
||||
+ Helium will automatically download and install browser and component updates as they become available. We recommend keeping this setting enabled to ensure you get the latest features and security updates. Automatic core browser updates are not available on this platform yet, but component updates are. Please use external software to keep Helium up to date.
|
||||
+ </message>
|
||||
+ </if>
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE" desc="Text input for overriding the Helium services server">
|
||||
Use your own instance of Helium services
|
||||
</message>
|
||||
|
||||
220
patches/helium/core/component-updates.patch
Normal file
220
patches/helium/core/component-updates.patch
Normal file
@@ -0,0 +1,220 @@
|
||||
--- a/components/component_updater/component_updater_url_constants.cc
|
||||
+++ b/components/component_updater/component_updater_url_constants.cc
|
||||
@@ -15,9 +15,9 @@ namespace component_updater {
|
||||
// The value of |kDefaultUrlSource| can be overridden with
|
||||
// --component-updater=url-source=someurl.
|
||||
const char kUpdaterJSONDefaultUrl[] =
|
||||
- "https://update.googleapis.com/service/update2/json";
|
||||
+ "trk:345:https://update.googleapis.com/service/update2/json";
|
||||
|
||||
const char kUpdaterJSONFallbackUrl[] =
|
||||
- "http://update.googleapis.com/service/update2/json";
|
||||
+ "trk:346:http://update.googleapis.com/service/update2/json";
|
||||
|
||||
} // namespace component_updater
|
||||
--- a/components/helium_services/helium_services_helpers.cc
|
||||
+++ b/components/helium_services/helium_services_helpers.cc
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "base/functional/bind.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "components/helium_services/pref_names.h"
|
||||
+#include "components/helium_services/schema.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "net/base/url_util.h"
|
||||
#include "url/gurl.h"
|
||||
@@ -88,6 +89,12 @@ bool ShouldAccessUpdateService(const Pre
|
||||
prefs.GetBoolean(prefs::kHeliumUpdateFetchingEnabled);
|
||||
}
|
||||
|
||||
+bool ShouldAccessComponentUpdateService(const PrefService& prefs) {
|
||||
+ return ShouldAccessServices(prefs) &&
|
||||
+ HasAcceptedSchema(prefs, 1) &&
|
||||
+ prefs.GetBoolean(prefs::kHeliumUpdateFetchingEnabled);
|
||||
+}
|
||||
+
|
||||
bool ShouldAccessUBlockAssets(const PrefService& prefs) {
|
||||
return ShouldAccessServices(prefs) &&
|
||||
prefs.GetBoolean(prefs::kHeliumUBlockAssetsEnabled);
|
||||
@@ -132,6 +139,14 @@ GURL GetBrowserUpdateURL(const PrefServi
|
||||
#endif
|
||||
}
|
||||
|
||||
+GURL GetComponentUpdateURL(const PrefService* prefs) {
|
||||
+ if (!prefs || !ShouldAccessComponentUpdateService(*prefs)) {
|
||||
+ return GetDummyURL();
|
||||
+ }
|
||||
+
|
||||
+ return GetServicesBaseURL(*prefs).Resolve("/com");
|
||||
+}
|
||||
+
|
||||
GURL GetUBlockAssetsURL(const PrefService& prefs) {
|
||||
if (!ShouldAccessUBlockAssets(prefs)) {
|
||||
return GetDummyURL();
|
||||
--- a/components/helium_services/helium_services_helpers.h
|
||||
+++ b/components/helium_services/helium_services_helpers.h
|
||||
@@ -23,6 +23,7 @@ bool ShouldAccessServices(const PrefServ
|
||||
COMPONENT_EXPORT(HELIUM) bool ShouldFetchBangs(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) bool ShouldAccessExtensionService(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) bool ShouldAccessUpdateService(const PrefService& prefs);
|
||||
+COMPONENT_EXPORT(HELIUM) bool ShouldAccessComponentUpdateService(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) bool ShouldAccessUBlockAssets(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetServicesBaseURL(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetDummyURL();
|
||||
@@ -30,6 +31,7 @@ COMPONENT_EXPORT(HELIUM) GURL GetExtensi
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetWebstoreSnippetURL(const PrefService& prefs, std::string_view id);
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetSpellcheckURL(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetBrowserUpdateURL(const PrefService& prefs);
|
||||
+COMPONENT_EXPORT(HELIUM) GURL GetComponentUpdateURL(const PrefService* prefs);
|
||||
COMPONENT_EXPORT(HELIUM) GURL GetUBlockAssetsURL(const PrefService& prefs);
|
||||
COMPONENT_EXPORT(HELIUM) std::optional<GURL> GetValidUserOverridenURL(std::string_view user_url_);
|
||||
COMPONENT_EXPORT(HELIUM) void ConfigurePrefChangeRegistrarFor(std::string_view pref_name,
|
||||
--- a/chrome/browser/component_updater/chrome_component_updater_configurator.cc
|
||||
+++ b/chrome/browser/component_updater/chrome_component_updater_configurator.cc
|
||||
@@ -26,11 +26,14 @@
|
||||
#include "chrome/browser/component_updater/component_updater_utils.h"
|
||||
#include "chrome/browser/component_updater/updater_state.h"
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
+#include "chrome/browser/profiles/profile.h"
|
||||
+#include "chrome/browser/profiles/profile_manager.h"
|
||||
#include "chrome/browser/update_client/chrome_update_query_params_delegate.h"
|
||||
#include "chrome/common/channel_info.h"
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "components/component_updater/component_updater_command_line_config_policy.h"
|
||||
#include "components/component_updater/configurator_impl.h"
|
||||
+#include "components/helium_services/helium_services_helpers.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/services/patch/content/patch_service.h"
|
||||
#include "components/services/unzip/content/unzip_service.h"
|
||||
@@ -55,6 +58,26 @@
|
||||
namespace component_updater {
|
||||
namespace {
|
||||
|
||||
+PrefService* GetProfilePrefs() {
|
||||
+ // Browser process and profile manager are usually
|
||||
+ // not null, but they may be during tests.
|
||||
+ if (!g_browser_process) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ ProfileManager* pm = g_browser_process->profile_manager();
|
||||
+ if (!pm) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ Profile* profile = pm->GetLastUsedProfileIfLoaded();
|
||||
+ if (!profile) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ return profile->GetPrefs();
|
||||
+}
|
||||
+
|
||||
class ChromeConfigurator : public update_client::Configurator {
|
||||
public:
|
||||
ChromeConfigurator(const base::CommandLine* cmdline,
|
||||
@@ -154,12 +177,12 @@ base::TimeDelta ChromeConfigurator::Upda
|
||||
|
||||
std::vector<GURL> ChromeConfigurator::UpdateUrl() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
- return configurator_impl_.UpdateUrl();
|
||||
+ return {helium::GetComponentUpdateURL(GetProfilePrefs())};
|
||||
}
|
||||
|
||||
std::vector<GURL> ChromeConfigurator::PingUrl() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
- return configurator_impl_.PingUrl();
|
||||
+ return {helium::GetComponentUpdateURL(GetProfilePrefs())};
|
||||
}
|
||||
|
||||
std::string ChromeConfigurator::GetProdId() const {
|
||||
--- a/components/component_updater/component_installer.cc
|
||||
+++ b/components/component_updater/component_installer.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
+#include "base/containers/fixed_flat_set.h"
|
||||
#include "base/files/file_enumerator.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/file_util.h"
|
||||
@@ -111,7 +112,21 @@ void ComponentInstaller::Register(Compon
|
||||
|
||||
std::vector<uint8_t> public_key_hash;
|
||||
installer_policy_->GetHash(&public_key_hash);
|
||||
+
|
||||
+ static constexpr auto kAllowedComponents =
|
||||
+ base::MakeFixedFlatSet<std::string_view>(
|
||||
+ base::sorted_unique,
|
||||
+ {
|
||||
+ "hfnkpimlhhgieaddgfemjhofmfblmnib", // CRLSet
|
||||
+ }
|
||||
+ );
|
||||
+
|
||||
const auto crx_id = update_client::GetCrxIdFromPublicKeyHash(public_key_hash);
|
||||
+
|
||||
+ if (!kAllowedComponents.contains(crx_id)) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
Register(base::BindOnce(&ComponentUpdateService::RegisterComponent,
|
||||
base::Unretained(cus)),
|
||||
std::move(callback), cus->GetRegisteredVersion(crx_id),
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -6957,6 +6957,9 @@ Keep your key file in a safe place. You
|
||||
<message name="IDS_COMPONENTS_SVC_STATUS_UPDATE_ERROR" desc="Service Status">
|
||||
Update error
|
||||
</message>
|
||||
+ <message name="IDS_COMPONENTS_SVC_STATUS_ERROR_HELIUM_SERVICES" desc="Service Status">
|
||||
+ Component updates are disabled. See Helium services in settings.
|
||||
+ </message>
|
||||
<message name="IDS_COMPONENTS_UNKNOWN" desc="Service Status">
|
||||
Unknown
|
||||
</message>
|
||||
--- a/chrome/browser/ui/webui/components/components_handler.cc
|
||||
+++ b/chrome/browser/ui/webui/components/components_handler.cc
|
||||
@@ -12,8 +12,12 @@
|
||||
#include "base/notreached.h"
|
||||
#include "base/values.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
+#include "components/helium_services/helium_services_helpers.h"
|
||||
+#include "components/prefs/pref_service.h"
|
||||
#include "components/update_client/crx_update_item.h"
|
||||
+#include "content/public/browser/web_contents.h"
|
||||
#include "ui/base/l10n/l10n_util.h"
|
||||
|
||||
ComponentsHandler::ComponentsHandler(
|
||||
@@ -82,6 +86,20 @@ void ComponentsHandler::OnEvent(const up
|
||||
|
||||
std::u16string ComponentsHandler::ServiceStatusToString(
|
||||
update_client::ComponentState state) {
|
||||
+
|
||||
+ if (state == update_client::ComponentState::kUpdateError) {
|
||||
+ Profile* profile = Profile::FromBrowserContext(
|
||||
+ web_ui()->GetWebContents()->GetBrowserContext());
|
||||
+
|
||||
+ if (profile) {
|
||||
+ PrefService* prefs = profile->GetPrefs();
|
||||
+ if (prefs && !helium::ShouldAccessComponentUpdateService(*prefs)) {
|
||||
+ return l10n_util::GetStringUTF16(
|
||||
+ IDS_COMPONENTS_SVC_STATUS_ERROR_HELIUM_SERVICES);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
switch (state) {
|
||||
case update_client::ComponentState::kNew:
|
||||
return l10n_util::GetStringUTF16(IDS_COMPONENTS_SVC_STATUS_NEW);
|
||||
--- a/chrome/browser/ui/webui/components/components_handler.h
|
||||
+++ b/chrome/browser/ui/webui/components/components_handler.h
|
||||
@@ -40,7 +40,7 @@ class ComponentsHandler : public content
|
||||
void OnEvent(const update_client::CrxUpdateItem& item) override;
|
||||
|
||||
private:
|
||||
- static std::u16string ServiceStatusToString(
|
||||
+ std::u16string ServiceStatusToString(
|
||||
update_client::ComponentState state);
|
||||
|
||||
base::Value::List LoadComponents();
|
||||
@@ -532,7 +532,7 @@
|
||||
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -1953,6 +1953,12 @@
|
||||
@@ -1956,6 +1956,12 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SCHEMA_IGNORE" desc="Checkbox label to ignore any future services change alerts">
|
||||
Don't notify me again
|
||||
</message>
|
||||
@@ -601,7 +601,7 @@
|
||||
<template is="dom-if" if="[[changes_.length]]">
|
||||
<div id="changelog-notice">
|
||||
<div id="changelog-title">$i18n{heliumSchemaUpdatedTitle}</div>
|
||||
@@ -54,6 +86,7 @@
|
||||
@@ -57,6 +89,7 @@
|
||||
<cr-collapse id="servicesCollapse" opened="[[prefs.helium.services.enabled.value]]">
|
||||
</cr-collapse>
|
||||
</div>
|
||||
|
||||
@@ -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
|
||||
@@ -84,6 +84,11 @@
|
||||
@@ -87,6 +87,11 @@
|
||||
</settings-toggle-button>
|
||||
<div class="cr-col">
|
||||
<cr-collapse id="servicesCollapse" opened="[[prefs.helium.services.enabled.value]]">
|
||||
@@ -201,8 +201,8 @@
|
||||
</template>
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2128,6 +2128,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
{"heliumSchemaUpdatedTitle", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE},
|
||||
@@ -2130,6 +2130,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESCRIPTION},
|
||||
{"heliumGotIt", IDS_SETTINGS_GOT_IT},
|
||||
{"heliumSchemaIgnore", IDS_SETTINGS_HELIUM_SCHEMA_IGNORE},
|
||||
+ {"heliumExtProxyToggle",
|
||||
@@ -214,7 +214,7 @@
|
||||
IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE_DESCRIPTION},
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -1981,6 +1981,12 @@
|
||||
@@ -1984,6 +1984,12 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION" desc="Description of the toggle for enabling/disabling of all Helium services">
|
||||
When enabled, Helium will be able to connect to anonymous web services to provide additional functionality. When disabled, additional features will not work.
|
||||
</message>
|
||||
|
||||
@@ -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
|
||||
@@ -94,6 +94,13 @@
|
||||
@@ -97,6 +97,13 @@
|
||||
label="$i18n{heliumBangsToggle}"
|
||||
sub-label="$i18n{heliumBangsToggleDescription}">
|
||||
</settings-toggle-button>
|
||||
@@ -154,7 +154,7 @@
|
||||
</if>
|
||||
</if>
|
||||
<if expr="is_chromeos">
|
||||
@@ -1993,6 +1996,12 @@
|
||||
@@ -1996,6 +1999,12 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION" desc="Description of the toggle for enabling/disabling of downloading bangs">
|
||||
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.
|
||||
</message>
|
||||
@@ -178,7 +178,7 @@
|
||||
#endif
|
||||
#endif // !BUILDFLAG(IS_CHROMEOS)
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
@@ -2135,6 +2135,9 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
@@ -2137,6 +2137,9 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
{"heliumBangsToggle", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE},
|
||||
{"heliumBangsToggleDescription",
|
||||
IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION},
|
||||
|
||||
@@ -19,15 +19,6 @@
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
if (url_source_override_.is_valid()) {
|
||||
return {GURL(url_source_override_)};
|
||||
@@ -123,7 +125,7 @@ bool ConfiguratorImpl::EnabledDeltas() c
|
||||
|
||||
bool ConfiguratorImpl::EnabledComponentUpdates() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
- return true;
|
||||
+ return false;
|
||||
}
|
||||
|
||||
bool ConfiguratorImpl::EnabledBackgroundDownloader() const {
|
||||
@@ -133,7 +135,7 @@ bool ConfiguratorImpl::EnabledBackground
|
||||
|
||||
bool ConfiguratorImpl::EnabledCupSigning() const {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#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"
|
||||
@@ -2665,14 +2663,9 @@ void AddSearchStrings(content::WebUIData
|
||||
@@ -2667,14 +2665,9 @@ void AddSearchStrings(content::WebUIData
|
||||
html_source->AddString("searchExplanationLearnMoreURL",
|
||||
chrome::kOmniboxLearnMoreURL);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -1941,6 +1941,37 @@
|
||||
@@ -1941,6 +1941,40 @@
|
||||
<message name="IDS_SETTINGS_SECURITY_DESCRIPTION" desc="Description of the controls available on the security settings page">
|
||||
Safe Browsing (protection from dangerous sites) and other security settings
|
||||
</message>
|
||||
@@ -13,6 +13,9 @@
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE" desc="Title of the alert shown when Helium services have a change in behavior">
|
||||
+ Updates to Helium services:
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESCRIPTION" desc="Description of the alert shown when Helium services have a change in behavior">
|
||||
+ These changes are not active until you dismiss this notice.
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_IGNORE" desc="Checkbox label to ignore any future services change alerts">
|
||||
+ Don't notify me again
|
||||
+ </message>
|
||||
@@ -40,7 +43,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
|
||||
@@ -2117,6 +2117,21 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
@@ -2117,6 +2117,23 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
{"siteSettingsSublabel", IDS_SETTINGS_PERMISSIONS_DESCRIPTION},
|
||||
{"securityPageTitle", IDS_SETTINGS_SECURITY},
|
||||
{"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION},
|
||||
@@ -50,6 +53,8 @@
|
||||
+ {"heliumServicesToggleDescription",
|
||||
+ IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION},
|
||||
+ {"heliumSchemaUpdatedTitle", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE},
|
||||
+ {"heliumSchemaUpdatedDescription",
|
||||
+ IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESCRIPTION},
|
||||
+ {"heliumGotIt", IDS_SETTINGS_GOT_IT},
|
||||
+ {"heliumSchemaIgnore", IDS_SETTINGS_HELIUM_SCHEMA_IGNORE},
|
||||
+ {"heliumOriginOverride", IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE},
|
||||
@@ -170,7 +175,7 @@
|
||||
}
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
@@ -0,0 +1,86 @@
|
||||
@@ -0,0 +1,89 @@
|
||||
+<style include="cr-shared-style settings-shared">
|
||||
+ .label-wrapper {
|
||||
+ padding: var(--cr-section-vertical-padding) 0;
|
||||
@@ -210,6 +215,9 @@
|
||||
+ <li>[[change]]</li>
|
||||
+ </template>
|
||||
+ </ul>
|
||||
+ <div id="changelog-description">
|
||||
+ $i18n{heliumSchemaUpdatedDescription}
|
||||
+ </div>
|
||||
+ <div id="changelog-notice-actions">
|
||||
+ <cr-button on-click="onAcknowledgedChangelog_">$i18n{heliumGotIt}</cr-button>
|
||||
+ <cr-checkbox id="checkbox" checked="{{ignoreChecked_}}">
|
||||
@@ -661,7 +669,7 @@
|
||||
+#endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_SERVICES_SCHEMA_HANDLER_H_
|
||||
--- /dev/null
|
||||
+++ b/components/helium_services/schema.cc
|
||||
@@ -0,0 +1,36 @@
|
||||
@@ -0,0 +1,40 @@
|
||||
+// Copyright 2025 The Helium Authors
|
||||
+// You can use, redistribute, and/or modify this source code under
|
||||
+// the terms of the GPL-3.0 license that can be found in the LICENSE file.
|
||||
@@ -691,7 +699,11 @@
|
||||
+ServicesChangelog& GetChangelog() {
|
||||
+ static constexpr auto kHeliumSchemaChangelog =
|
||||
+ base::MakeFixedFlatMap<int, std::string_view>({
|
||||
+ {1, "TBA ____________________"}
|
||||
+ {
|
||||
+ 1,
|
||||
+ "Automatic component updates are now available. They're managed by the same toggle that enables automatic browser updates.\n"
|
||||
+ "From now on, you'll be notified about major changes to Helium services. Even though these notifications are extremely rare, you can choose to ignore them and accept all future changes automatically."
|
||||
+ }
|
||||
+ });
|
||||
+
|
||||
+ return kHeliumSchemaChangelog;
|
||||
|
||||
@@ -217,10 +217,10 @@
|
||||
if ( bin.assetSourceRegistry instanceof Object ) {
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2008,6 +2008,12 @@
|
||||
<message name="IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION" desc="Description of the toggle for automatic update downloads">
|
||||
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.
|
||||
</message>
|
||||
@@ -2018,6 +2018,12 @@
|
||||
Helium will automatically download and install browser and component updates as they become available. We recommend keeping this setting enabled to ensure you get the latest features and security updates. Automatic core browser updates are not available on this platform yet, but component updates are. Please use external software to keep Helium up to date.
|
||||
</message>
|
||||
</if>
|
||||
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_UBO" desc="Description of the toggle for uBO filter lists">
|
||||
+ Allow downloading filter lists for uBlock Origin
|
||||
+ </message>
|
||||
@@ -232,10 +232,10 @@
|
||||
</message>
|
||||
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
|
||||
@@ -108,6 +108,11 @@
|
||||
sub-label="$i18n{heliumUpdatesToggleDescription}">
|
||||
</settings-toggle-button>
|
||||
</if>
|
||||
@@ -109,6 +109,11 @@
|
||||
label="$i18n{heliumUpdatesToggle}"
|
||||
sub-label="$i18n{heliumUpdatesToggleDescription}">
|
||||
</settings-toggle-button>
|
||||
+ <settings-toggle-button id="filterlistToggleButton"
|
||||
+ pref="{{prefs.helium.services.ublock_assets}}"
|
||||
+ label="$i18n{heliumUboToggle}"
|
||||
@@ -246,7 +246,7 @@
|
||||
</template>
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2142,6 +2142,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
@@ -2144,6 +2144,10 @@ void AddPrivacyStrings(content::WebUIDat
|
||||
IDS_SETTINGS_HELIUM_SERVICES_UPDATE},
|
||||
{"heliumUpdatesToggleDescription",
|
||||
IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION},
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<message name="IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL" desc="The accessibility label for a link to learn more about Do Not Track">
|
||||
Learn more about Do Not Track
|
||||
</message>
|
||||
@@ -3213,6 +3216,9 @@
|
||||
@@ -3223,6 +3226,9 @@
|
||||
<message name="IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_DESCRIPTION" desc="Description of the section on the Tracking Protection settings page that lets users manage which sites are allowed to use third-party cookies. Explains how to use a wildcard to create an exception for an entire domain.">
|
||||
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.
|
||||
</message>
|
||||
@@ -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.
|
||||
@@ -2832,7 +2832,7 @@ void AddSiteSettingsStrings(content::Web
|
||||
@@ -2834,7 +2834,7 @@ void AddSiteSettingsStrings(content::Web
|
||||
{"trackingProtectionSitesAllowedCookiesTitle",
|
||||
IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_TITLE},
|
||||
{"trackingProtectionSitesAllowedCookiesDescription",
|
||||
|
||||
@@ -517,7 +517,7 @@
|
||||
// The container (and extensions-menu button) should not be visible if we have
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -10466,6 +10466,9 @@ Keep your key file in a safe place. You
|
||||
@@ -10469,6 +10469,9 @@ Keep your key file in a safe place. You
|
||||
<message name="IDS_ACCNAME_FIND" desc="The accessible name for the find button.">
|
||||
Find
|
||||
</message>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
};
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -13441,6 +13441,9 @@ Check your passwords anytime in <ph name
|
||||
@@ -13444,6 +13444,9 @@ Check your passwords anytime in <ph name
|
||||
<message name="IDS_EXTENSIONS_INSTALL_LOCATION_SHARED_MODULE" desc="The text explaining the the installation of the extension was because of extensions that depend on this shared module">
|
||||
Installed because of dependent extension(s).
|
||||
</message>
|
||||
|
||||
@@ -191,6 +191,7 @@ helium/core/webrtc-default-handling-policy.patch
|
||||
helium/core/browser-window-context-menu.patch
|
||||
helium/core/disable-ntp-footer.patch
|
||||
helium/core/tab-cycling-mru.patch
|
||||
helium/core/component-updates.patch
|
||||
|
||||
helium/settings/settings-page-icons.patch
|
||||
helium/settings/move-search-suggest.patch
|
||||
|
||||
Reference in New Issue
Block a user