helium/core/services: polish the schema update notification

- adjusted padding, margins, and border radius
- made the title stand out more
- updated related strings
- removed the extra description, feels unnecessary to me
This commit is contained in:
wukko
2025-12-12 13:57:41 +06:00
parent f4937943ca
commit 07018baf2e
10 changed files with 43 additions and 42 deletions

View File

@@ -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
@@ -2133,6 +2133,9 @@ void AddPrivacyStrings(content::WebUIDat
@@ -2132,6 +2132,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
@@ -1990,6 +1990,12 @@
@@ -1987,6 +1987,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
@@ -84,6 +84,11 @@
@@ -89,6 +89,11 @@
label="$i18n{heliumExtProxyToggle}"
sub-label="$i18n{heliumExtProxyToggleDescription}">
</settings-toggle-button>

View File

@@ -78,7 +78,7 @@ 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
@@ -96,6 +96,13 @@
@@ -101,6 +101,13 @@
sub-label="$i18n{heliumSpellcheckToggleDescription}">
</settings-toggle-button>
</if>
@@ -94,7 +94,7 @@ TODO: guard services_page.html with is_mac
</template>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -2139,6 +2139,10 @@ void AddPrivacyStrings(content::WebUIDat
@@ -2138,6 +2138,10 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumSpellcheckToggle", IDS_SETTINGS_HELIUM_SERVICES_SPELLCHECK_TOGGLE},
{"heliumSpellcheckToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_SPELLCHECK_TOGGLE_DESCRIPTION},
@@ -128,7 +128,7 @@ TODO: guard services_page.html with is_mac
registry->RegisterBooleanPref(
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2005,6 +2005,12 @@
@@ -2002,6 +2002,12 @@
<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>

View File

@@ -532,9 +532,9 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1956,6 +1956,12 @@
@@ -1953,6 +1953,12 @@
<message name="IDS_SETTINGS_HELIUM_SCHEMA_IGNORE" desc="Checkbox label to ignore any future services change alerts">
Don't show sensitive update notifications
Don't notify me again
</message>
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_SETUP_PENDING_TEXT" desc="Description shown in services settings when user has not completed onboarding">
+ Helium services are not available until setup is complete to ensure your privacy and consent.
@@ -558,8 +558,8 @@
(*s_allowlist)[::prefs::kPrivacyGuideViewed] =
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
@@ -19,10 +19,42 @@
margin-top: calc(var(--cr-changelog-padding) / 2);
@@ -25,10 +25,42 @@
margin-top: var(--cr-changelog-padding);
padding-top: calc(var(--cr-changelog-padding) / 2);
}
+
@@ -600,8 +600,8 @@
+ <template is="dom-if" if="[[prefs.helium.services.user_consented.value]]">
<template is="dom-if" if="[[changes_.length]]">
<div id="changelog-notice">
<div>$i18n{heliumSchemaUpdatedTitle}</div>
@@ -49,6 +81,7 @@
<div id="changelog-title">$i18n{heliumSchemaUpdatedTitle}</div>
@@ -54,6 +86,7 @@
<cr-collapse id="servicesCollapse" opened="[[prefs.helium.services.enabled.value]]">
</cr-collapse>
</div>

View File

@@ -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
@@ -79,6 +79,11 @@
@@ -84,6 +84,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
@@ -2129,6 +2129,10 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumSchemaUpdatedDescription", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESC},
@@ -2128,6 +2128,10 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumSchemaUpdatedTitle", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE},
{"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
@@ -1984,6 +1984,12 @@
@@ -1981,6 +1981,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>

View File

@@ -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
@@ -89,6 +89,13 @@
@@ -94,6 +94,13 @@
label="$i18n{heliumBangsToggle}"
sub-label="$i18n{heliumBangsToggleDescription}">
</settings-toggle-button>
@@ -154,7 +154,7 @@
</if>
</if>
<if expr="is_chromeos">
@@ -1996,6 +1999,12 @@
@@ -1993,6 +1996,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)
@@ -2136,6 +2136,9 @@ void AddPrivacyStrings(content::WebUIDat
@@ -2135,6 +2135,9 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumBangsToggle", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE},
{"heliumBangsToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION},

View File

@@ -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"
@@ -2666,14 +2664,9 @@ void AddSearchStrings(content::WebUIData
@@ -2665,14 +2663,9 @@ void AddSearchStrings(content::WebUIData
html_source->AddString("searchExplanationLearnMoreURL",
chrome::kOmniboxLearnMoreURL);

View File

@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1941,6 +1941,40 @@
@@ -1941,6 +1941,37 @@
<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>
@@ -11,13 +11,10 @@
+ Manage what Helium services are allowed in your browser
+ </message>
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE" desc="Title of the alert shown when Helium services have a change in behavior">
+ Helium services have updated:
+ </message>
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESC" desc="Description of the alert shown when Helium services have a change in behavior">
+ If you wish to change your preferences after this update, feel free to do so below.
+ Updates to Helium services:
+ </message>
+ <message name="IDS_SETTINGS_HELIUM_SCHEMA_IGNORE" desc="Checkbox label to ignore any future services change alerts">
+ Don't show sensitive update notifications
+ Don't notify me again
+ </message>
+ <message name="IDS_SETTINGS_HELIUM_SERVICES_TOGGLE" desc="Global toggle for enabling/disabling of all Helium services">
+ Allow connecting to Helium services
@@ -43,7 +40,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,22 @@ void AddPrivacyStrings(content::WebUIDat
@@ -2117,6 +2117,21 @@ void AddPrivacyStrings(content::WebUIDat
{"siteSettingsSublabel", IDS_SETTINGS_PERMISSIONS_DESCRIPTION},
{"securityPageTitle", IDS_SETTINGS_SECURITY},
{"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION},
@@ -53,7 +50,6 @@
+ {"heliumServicesToggleDescription",
+ IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION},
+ {"heliumSchemaUpdatedTitle", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_TITLE},
+ {"heliumSchemaUpdatedDescription", IDS_SETTINGS_HELIUM_SCHEMA_NOTICE_DESC},
+ {"heliumGotIt", IDS_SETTINGS_GOT_IT},
+ {"heliumSchemaIgnore", IDS_SETTINGS_HELIUM_SCHEMA_IGNORE},
+ {"heliumOriginOverride", IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE},
@@ -174,26 +170,32 @@
}
--- /dev/null
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
@@ -0,0 +1,81 @@
@@ -0,0 +1,86 @@
+<style include="cr-shared-style settings-shared">
+ .label-wrapper {
+ padding: var(--cr-section-vertical-padding) 0;
+ }
+
+ #changelog-notice {
+ --cr-changelog-padding: 12px;
+ border-radius: var(--cr-changelog-padding);
+ --cr-changelog-padding: 16px;
+ border-radius: calc(var(--cr-changelog-padding) / 2);
+ margin: var(--cr-changelog-padding);
+ margin-top: 0;
+ padding: var(--cr-changelog-padding);
+ background: rgba(10, 20, 50, 0.5)
+ background: var(--md-background-color);
+ }
+
+ #changelog-title {
+ font-size: 15px;
+ font-weight: 500;
+ }
+
+ #changelog-notice-actions {
+ --cr-checkbox-label-padding-start: 8px;
+ display: flex;
+ gap: 8px;
+ gap: var(--cr-changelog-padding);
+ border-top: var(--cr-separator-line);
+ margin-top: calc(var(--cr-changelog-padding) / 2);
+ margin-top: var(--cr-changelog-padding);
+ padding-top: calc(var(--cr-changelog-padding) / 2);
+ }
+</style>
@@ -202,13 +204,12 @@
+<div class="cr-col first">
+ <template is="dom-if" if="[[changes_.length]]">
+ <div id="changelog-notice">
+ <div>$i18n{heliumSchemaUpdatedTitle}</div>
+ <div id="changelog-title">$i18n{heliumSchemaUpdatedTitle}</div>
+ <ul>
+ <template is="dom-repeat" items="[[changes_]]" as="change">
+ <li>[[change]]</li>
+ </template>
+ </ul>
+ <div>$i18n{heliumSchemaUpdatedDescription}</div>
+ <div id="changelog-notice-actions">
+ <cr-button on-click="onAcknowledgedChangelog_">$i18n{heliumGotIt}</cr-button>
+ <cr-checkbox id="checkbox" checked="{{ignoreChecked_}}">

View File

@@ -217,7 +217,7 @@
if ( bin.assetSourceRegistry instanceof Object ) {
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2011,6 +2011,12 @@
@@ -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>
@@ -232,7 +232,7 @@
</message>
--- a/chrome/browser/resources/settings/privacy_page/services_page.html
+++ b/chrome/browser/resources/settings/privacy_page/services_page.html
@@ -103,6 +103,11 @@
@@ -108,6 +108,11 @@
sub-label="$i18n{heliumUpdatesToggleDescription}">
</settings-toggle-button>
</if>
@@ -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
@@ -2143,6 +2143,10 @@ void AddPrivacyStrings(content::WebUIDat
@@ -2142,6 +2142,10 @@ void AddPrivacyStrings(content::WebUIDat
IDS_SETTINGS_HELIUM_SERVICES_UPDATE},
{"heliumUpdatesToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION},

View File

@@ -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>
@@ -3216,6 +3219,9 @@
@@ -3213,6 +3216,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 its 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.
@@ -2833,7 +2833,7 @@ void AddSiteSettingsStrings(content::Web
@@ -2832,7 +2832,7 @@ void AddSiteSettingsStrings(content::Web
{"trackingProtectionSitesAllowedCookiesTitle",
IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_TITLE},
{"trackingProtectionSitesAllowedCookiesDescription",

View File

@@ -221,7 +221,7 @@
--- a/chrome/browser/ui/toolbar/app_menu_model.h
+++ b/chrome/browser/ui/toolbar/app_menu_model.h
@@ -284,6 +284,9 @@ class AppMenuModel : public ui::SimpleMe
// Adds a nag to review Helium Services permission changes
// Adds a nag to review Helium services permission changes
bool AddHeliumSchemaItem();
+ // Adds a nag to relaunch the browser after an update