helium/core: toggle for ⌘+Shift+C, add ⌘+Shift+E as element inspector

- added a pref and a toggle in accessibility settings for controlling the state of ⌘+Shift+C'sbehavior and restoring inspector functionality.
- added helium's own command specifically for ⌘+Shift+C shortcut to prevent any unexpected breakage or side effects.
- assigned ⌘+Shift+E to enable element inspector on all platforms, since ⌘+Shift+C copies the URL by default.
- updated the inspector's keyboard shortcut in devtools tooltip to display ⌘+Shift+E.
- assigned ⌘+Shift+I to open devtools on macos. previously it enabled the inspector, but it makes more sense to unify the keyboard combo effects across platforms. now ⌘/Ctrl+Shift+I toggles devtools on all platforms in the same way.
- merged `copy-page-url-shortcut.patch`, `protect-browser-keyboard-shortcuts.patch`, and macos' `replace-email-shortcut-with-devtools.patch` into `keyboard-shortcuts.patch`

closes #96
This commit is contained in:
wukko
2025-10-14 20:07:18 +06:00
parent ea61e0bcd5
commit ce80c9748f
16 changed files with 282 additions and 101 deletions

View File

@@ -722,7 +722,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
@@ -1956,6 +1956,9 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1957,6 +1957,9 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumServicesToggle", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE},
{"heliumServicesToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION},
@@ -734,7 +734,7 @@
{"heliumExtProxyToggleDescription",
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1921,6 +1921,12 @@
@@ -1931,6 +1931,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>
@@ -763,7 +763,7 @@
label="$i18n{heliumExtProxyToggle}"
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -200,6 +200,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -202,6 +202,7 @@ void RegisterBrowserUserPrefs(user_prefs
{
registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true);

View File

@@ -102,7 +102,7 @@ TODO: guard services_page.html with is_mac
</div>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1966,6 +1966,10 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1967,6 +1967,10 @@ void AddPrivacyStrings(content::WebUIDat
IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE},
{"heliumExtProxyToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE_DESCRIPTION},
@@ -126,7 +126,7 @@ TODO: guard services_page.html with is_mac
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -211,6 +211,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -213,6 +213,7 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterStringPref(prefs::kHeliumServicesOrigin, "");
registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false);
registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false);
@@ -136,7 +136,7 @@ TODO: guard services_page.html with is_mac
registry->RegisterBooleanPref(
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1933,6 +1933,12 @@
@@ -1943,6 +1943,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

@@ -1,55 +0,0 @@
--- a/chrome/app/chrome_dll.rc
+++ b/chrome/app/chrome_dll.rc
@@ -49,7 +49,7 @@ BEGIN
"W", IDC_CLOSE_WINDOW, VIRTKEY, CONTROL, SHIFT
"I", IDC_DEV_TOOLS, VIRTKEY, CONTROL, SHIFT
"J", IDC_DEV_TOOLS_CONSOLE, VIRTKEY, CONTROL, SHIFT
- "C", IDC_DEV_TOOLS_INSPECT, VIRTKEY, CONTROL, SHIFT
+ "C", IDC_COPY_URL, VIRTKEY, CONTROL, SHIFT
VK_F12, IDC_DEV_TOOLS_TOGGLE, VIRTKEY
"F", IDC_FIND, VIRTKEY, CONTROL
"G", IDC_FIND_NEXT, VIRTKEY, CONTROL
--- a/chrome/browser/global_keyboard_shortcuts_mac.mm
+++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -145,7 +145,7 @@ const std::vector<KeyboardShortcutData>&
{true, true, false, false, kVK_ANSI_M, IDC_SHOW_AVATAR_MENU},
{true, false, false, true, kVK_ANSI_L, IDC_SHOW_DOWNLOADS},
- {true, true, false, false, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT},
+ {true, true, false, false, kVK_ANSI_C, IDC_COPY_URL},
{true, false, false, true, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT},
{true, false, false, true, kVK_DownArrow, IDC_FOCUS_NEXT_PANE},
{true, false, false, true, kVK_UpArrow, IDC_FOCUS_PREVIOUS_PANE},
--- a/chrome/browser/ui/cocoa/accelerators_cocoa.mm
+++ b/chrome/browser/ui/cocoa/accelerators_cocoa.mm
@@ -37,7 +37,7 @@ const struct AcceleratorMapping {
{IDC_CUT, ui::EF_COMMAND_DOWN, ui::VKEY_X},
{IDC_DEV_TOOLS, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_I},
{IDC_DEV_TOOLS_CONSOLE, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_J},
- {IDC_DEV_TOOLS_INSPECT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_C},
+ {IDC_COPY_URL, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, ui::VKEY_C},
{IDC_FIND, ui::EF_COMMAND_DOWN, ui::VKEY_F},
{IDC_NEW_INCOGNITO_WINDOW, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
ui::VKEY_N},
--- a/chrome/browser/ui/accelerator_table.cc
+++ b/chrome/browser/ui/accelerator_table.cc
@@ -269,7 +269,7 @@ const AcceleratorMapping kDevToolsAccele
{ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_DEV_TOOLS_CONSOLE},
{ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
- IDC_DEV_TOOLS_INSPECT},
+ IDC_COPY_URL},
{ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE},
#endif // !BUILDFLAG(IS_MAC)
};
--- a/chrome/browser/ui/cocoa/main_menu_builder.mm
+++ b/chrome/browser/ui/cocoa/main_menu_builder.mm
@@ -189,6 +189,8 @@ NSMenuItem* BuildEditMenu(NSApplication*
Item(IDS_COPY_MAC)
.tag(IDC_CONTENT_CONTEXT_COPY)
.action(@selector(copy:)),
+ Item(IDS_COPY_URL)
+ .command_id(IDC_COPY_URL),
Item(IDS_PASTE_MAC)
.tag(IDC_CONTENT_CONTEXT_PASTE)
.action(@selector(paste:)),

View File

@@ -0,0 +1,251 @@
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -92,9 +92,11 @@
#define IDC_WEB_APP_MENU_APP_INFO 34063
#define IDC_WEB_APP_UPGRADE_DIALOG 34064
+// Helium commands
+#define IDC_COPY_OR_INSPECT_SHORTCUT 34080
+
#if BUILDFLAG(IS_CHROMEOS)
// Move window to other user commands
-#define IDC_VISIT_DESKTOP_OF_LRU_USER_2 34080
#define IDC_VISIT_DESKTOP_OF_LRU_USER_3 34081
#define IDC_VISIT_DESKTOP_OF_LRU_USER_4 34082
#define IDC_VISIT_DESKTOP_OF_LRU_USER_5 34083
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1509,6 +1509,11 @@ inline constexpr char kPageColorsBlockLi
inline constexpr char kPrefersDefaultScrollbarStyles[] =
"settings.a11y.prefers_default_scrollbar_styles";
+// Boolean that indicates whether the user has enabled the keyboard shortcut
+// for copying the current page URL to the clipboard.
+inline constexpr char kCopyPageUrlShortcut[] =
+ "helium.settings.a11y.copy_page_url_shortcut";
+
#if BUILDFLAG(IS_MAC)
// Boolean that indicates whether the application should show the info bar
// asking the user to set up automatic updates when Keystone promotion is
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -142,6 +142,8 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls);
registry->RegisterBooleanPref(prefs::kWebRtcTextLogCollectionAllowed, false);
+ registry->RegisterBooleanPref(prefs::kCopyPageUrlShortcut, true);
+
// We need to register the type of these preferences in order to query
// them even though they're only typically controlled via policy.
registry->RegisterBooleanPref(policy::policy_prefs::kHideWebStoreIcon, false);
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -387,7 +387,10 @@ bool BrowserCommandController::IsReserve
command_id == IDC_NEW_INCOGNITO_WINDOW || command_id == IDC_NEW_TAB ||
command_id == IDC_NEW_WINDOW || command_id == IDC_RESTORE_TAB ||
command_id == IDC_SELECT_NEXT_TAB ||
- command_id == IDC_SELECT_PREVIOUS_TAB || command_id == IDC_EXIT;
+ command_id == IDC_SELECT_PREVIOUS_TAB || command_id == IDC_EXIT ||
+ command_id == IDC_COPY_OR_INSPECT_SHORTCUT || command_id == IDC_DEV_TOOLS ||
+ command_id == IDC_DEV_TOOLS_INSPECT || command_id == IDC_DEV_TOOLS_TOGGLE ||
+ command_id == IDC_DEV_TOOLS_CONSOLE;
}
void BrowserCommandController::TabStateChanged() {
@@ -1143,6 +1146,14 @@ bool BrowserCommandController::ExecuteCo
case IDC_DUPLICATE_TARGET_TAB:
DuplicateKeyboardFocusedTab(browser_);
break;
+ case IDC_COPY_OR_INSPECT_SHORTCUT: {
+ PrefService* prefs = profile()->GetPrefs();
+ bool copy = prefs->GetBoolean(prefs::kCopyPageUrlShortcut);
+
+ return ExecuteCommandWithDisposition(
+ copy ? IDC_COPY_URL : IDC_DEV_TOOLS_INSPECT,
+ disposition, time_stamp);
+ }
// Hosted App commands
case IDC_COPY_URL:
CopyURL(browser_, browser_->tab_strip_model()->GetActiveWebContents());
@@ -1888,6 +1899,12 @@ void BrowserCommandController::UpdateCom
bool dev_tools_enabled = DevToolsWindow::AllowDevToolsFor(
profile(), browser_->tab_strip_model()->GetActiveWebContents());
+
+ PrefService* prefs = profile()->GetPrefs();
+ bool copy = prefs->GetBoolean(prefs::kCopyPageUrlShortcut);
+ command_updater_.UpdateCommandEnabled(IDC_COPY_OR_INSPECT_SHORTCUT,
+ copy || dev_tools_enabled);
+
command_updater_.UpdateCommandEnabled(IDC_DEV_TOOLS, dev_tools_enabled);
command_updater_.UpdateCommandEnabled(IDC_DEV_TOOLS_CONSOLE,
dev_tools_enabled);
--- a/chrome/browser/ui/accelerator_table.cc
+++ b/chrome/browser/ui/accelerator_table.cc
@@ -268,8 +268,10 @@ const AcceleratorMapping kDevToolsAccele
{ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS},
{ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_DEV_TOOLS_CONSOLE},
- {ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ {ui::VKEY_E, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_DEV_TOOLS_INSPECT},
+ {ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_COPY_OR_INSPECT_SHORTCUT},
{ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE},
#endif // !BUILDFLAG(IS_MAC)
};
--- a/chrome/browser/global_keyboard_shortcuts_mac.mm
+++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -145,7 +145,9 @@ const std::vector<KeyboardShortcutData>&
{true, true, false, false, kVK_ANSI_M, IDC_SHOW_AVATAR_MENU},
{true, false, false, true, kVK_ANSI_L, IDC_SHOW_DOWNLOADS},
- {true, true, false, false, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT},
+ {true, true, false, false, kVK_ANSI_I, IDC_DEV_TOOLS},
+ {true, true, false, false, kVK_ANSI_E, IDC_DEV_TOOLS_INSPECT},
+ {true, true, false, false, kVK_ANSI_C, IDC_COPY_OR_INSPECT_SHORTCUT},
{true, false, false, true, kVK_ANSI_C, IDC_DEV_TOOLS_INSPECT},
{true, false, false, true, kVK_DownArrow, IDC_FOCUS_NEXT_PANE},
{true, false, false, true, kVK_UpArrow, IDC_FOCUS_PREVIOUS_PANE},
--- a/chrome/browser/ui/cocoa/accelerators_cocoa.mm
+++ b/chrome/browser/ui/cocoa/accelerators_cocoa.mm
@@ -37,7 +37,8 @@ const struct AcceleratorMapping {
{IDC_CUT, ui::EF_COMMAND_DOWN, ui::VKEY_X},
{IDC_DEV_TOOLS, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_I},
{IDC_DEV_TOOLS_CONSOLE, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_J},
- {IDC_DEV_TOOLS_INSPECT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_C},
+ {IDC_DEV_TOOLS_INSPECT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_E},
+ {IDC_COPY_OR_INSPECT_SHORTCUT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, ui::VKEY_C},
{IDC_FIND, ui::EF_COMMAND_DOWN, ui::VKEY_F},
{IDC_NEW_INCOGNITO_WINDOW, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
ui::VKEY_N},
@@ -73,9 +74,6 @@ const struct AcceleratorMapping {
// We used to define IDC_CLOSE_WINDOW here. Instead, see
// AcceleratorForCloseWindow().
{IDC_CLOSE_TAB, ui::EF_COMMAND_DOWN, ui::VKEY_W},
-
- {IDC_EMAIL_PAGE_LOCATION, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
- ui::VKEY_I},
#if BUILDFLAG(ENABLE_PRINTING)
{IDC_BASIC_PRINT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::VKEY_P},
#endif // ENABLE_PRINTING
--- a/chrome/app/chrome_dll.rc
+++ b/chrome/app/chrome_dll.rc
@@ -49,7 +49,8 @@ BEGIN
"W", IDC_CLOSE_WINDOW, VIRTKEY, CONTROL, SHIFT
"I", IDC_DEV_TOOLS, VIRTKEY, CONTROL, SHIFT
"J", IDC_DEV_TOOLS_CONSOLE, VIRTKEY, CONTROL, SHIFT
- "C", IDC_DEV_TOOLS_INSPECT, VIRTKEY, CONTROL, SHIFT
+ "E", IDC_DEV_TOOLS_INSPECT, VIRTKEY, CONTROL, SHIFT
+ "C", IDC_COPY_OR_INSPECT_SHORTCUT, VIRTKEY, CONTROL, SHIFT
VK_F12, IDC_DEV_TOOLS_TOGGLE, VIRTKEY
"F", IDC_FIND, VIRTKEY, CONTROL
"G", IDC_FIND_NEXT, VIRTKEY, CONTROL
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -579,6 +579,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
(*s_allowlist)[::prefs::kCaretBrowsingEnabled] =
settings_api::PrefType::kBoolean;
+ (*s_allowlist)[::prefs::kCopyPageUrlShortcut] =
+ settings_api::PrefType::kBoolean;
#if BUILDFLAG(IS_CHROMEOS)
// Accounts / Users / People.
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -193,6 +193,16 @@
Shows a confirmation when you copy links, images, or videos
</message>
</if>
+ <if expr="is_macosx">
+ <message name="IDS_SETTINGS_ACCESSIBILITY_COPY_PAGE_URL_SHORTCUT" desc="Toggle in settings that allows you to enable the keyboard shortcut that copies the current page URL to the clipboard. It's enabled by default.">
+ Enable quick page link copying with ⌘+Shift+C
+ </message>
+ </if>
+ <if expr="not is_macosx">
+ <message name="IDS_SETTINGS_ACCESSIBILITY_COPY_PAGE_URL_SHORTCUT" desc="Toggle in settings that allows you to enable the keyboard shortcut that copies the current page URL to the clipboard. It's enabled by default.">
+ Enable quick page link copying with Ctrl+Shift+C
+ </message>
+ </if>
<!-- Appearance Page -->
<message name="IDS_SETTINGS_APPEARANCE" desc="Name of the settings page which displays appearance preferences.">
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -276,6 +276,7 @@ void AddA11yStrings(content::WebUIDataSo
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
{"axTreeFixingTitle", IDS_SETTINGS_AX_TREE_FIXING_TITLE},
{"axTreeFixingSubtitle", IDS_SETTINGS_AX_TREE_FIXING_SUBTITLE},
+ {"copyPageUrlShortcut", IDS_SETTINGS_ACCESSIBILITY_COPY_PAGE_URL_SHORTCUT},
};
html_source->AddLocalizedStrings(kLocalizedStrings);
--- a/chrome/browser/resources/settings/a11y_page/a11y_page.html
+++ b/chrome/browser/resources/settings/a11y_page/a11y_page.html
@@ -99,5 +99,9 @@
sub-label="$i18n{toastAlertLevelDescription}">
</settings-toggle-button>
</if>
+ <settings-toggle-button id="CopyPageUrlShortcut" class="hr"
+ pref="{{prefs.helium.settings.a11y.copy_page_url_shortcut}}"
+ label="$i18n{copyPageUrlShortcut}">
+ </settings-toggle-button>
</div>
</settings-section>
--- a/third_party/devtools-frontend/src/front_end/panels/elements/elements-meta.ts
+++ b/third_party/devtools-frontend/src/front_end/panels/elements/elements-meta.ts
@@ -446,11 +446,11 @@ UI.ActionRegistration.registerActionExte
iconClass: UI.ActionRegistration.IconClass.LARGEICON_NODE_SEARCH,
bindings: [
{
- shortcut: 'Ctrl+Shift+C',
+ shortcut: 'Ctrl+Shift+E',
platform: UI.ActionRegistration.Platforms.WINDOWS_LINUX,
},
{
- shortcut: 'Meta+Shift+C',
+ shortcut: 'Meta+Shift+E',
platform: UI.ActionRegistration.Platforms.MAC,
},
],
--- a/chrome/browser/ui/cocoa/main_menu_builder.mm
+++ b/chrome/browser/ui/cocoa/main_menu_builder.mm
@@ -189,6 +189,8 @@ NSMenuItem* BuildEditMenu(NSApplication*
Item(IDS_COPY_MAC)
.tag(IDC_CONTENT_CONTEXT_COPY)
.action(@selector(copy:)),
+ Item(IDS_COPY_URL)
+ .command_id(IDC_COPY_URL),
Item(IDS_PASTE_MAC)
.tag(IDC_CONTENT_CONTEXT_PASTE)
.action(@selector(paste:)),
--- a/chrome/browser/ui/cocoa/share_menu_controller.mm
+++ b/chrome/browser/ui/cocoa/share_menu_controller.mm
@@ -99,12 +99,6 @@ bool CanShare() {
// to fetch sharing services that can handle the NSURL type.
NSArray* services = [NSSharingService
sharingServicesForItems:@[ [NSURL URLWithString:@"https://google.com"] ]];
- NSMenuItem* email = [[NSMenuItem alloc]
- initWithTitle:l10n_util::GetNSString(IDS_EMAIL_LINK_MAC)
- action:@selector(emailLink:)
- keyEquivalent:[self keyEquivalentForMail]];
- email.target = self;
- [menu addItem:email];
for (NSSharingService* service in services) {
// Email share service causes mysterious crashes, so share directly.
// See https://crbug.com/356643975
@@ -298,13 +292,4 @@ bool CanShare() {
return item;
}
-- (NSString*)keyEquivalentForMail {
- ui::Accelerator accelerator;
- bool found = GetDefaultMacAcceleratorForCommandId(IDC_EMAIL_PAGE_LOCATION,
- &accelerator);
- DCHECK(found);
- return GetKeyEquivalentAndModifierMaskFromAccelerator(accelerator)
- .keyEquivalent;
-}
-
@end

View File

@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -257,6 +257,9 @@
@@ -267,6 +267,9 @@
<message name="IDS_SETTINGS_COLOR_SCHEME_MODE" desc="Text of the label for selecting a color scheme mode for the browser.">
Mode
</message>
@@ -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
@@ -510,6 +510,7 @@ void AddAppearanceStrings(content::WebUI
@@ -511,6 +511,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},

View File

@@ -1,14 +0,0 @@
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -387,7 +387,10 @@ bool BrowserCommandController::IsReserve
command_id == IDC_NEW_INCOGNITO_WINDOW || command_id == IDC_NEW_TAB ||
command_id == IDC_NEW_WINDOW || command_id == IDC_RESTORE_TAB ||
command_id == IDC_SELECT_NEXT_TAB ||
- command_id == IDC_SELECT_PREVIOUS_TAB || command_id == IDC_EXIT;
+ command_id == IDC_SELECT_PREVIOUS_TAB || command_id == IDC_EXIT ||
+ command_id == IDC_COPY_URL || command_id == IDC_DEV_TOOLS ||
+ command_id == IDC_DEV_TOOLS_INSPECT || command_id == IDC_DEV_TOOLS_TOGGLE ||
+ command_id == IDC_DEV_TOOLS_CONSOLE;
}
void BrowserCommandController::TabStateChanged() {

View File

@@ -177,7 +177,7 @@
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -200,6 +200,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -202,6 +202,7 @@ void RegisterBrowserUserPrefs(user_prefs
{
registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true);
@@ -201,7 +201,7 @@
</div>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1956,6 +1956,10 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1957,6 +1957,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
@@ -1915,6 +1915,12 @@
@@ -1925,6 +1925,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

@@ -118,7 +118,7 @@
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -202,6 +202,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -204,6 +204,7 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true);
registry->RegisterBooleanPref(prefs::kHeliumBangsEnabled, true);
registry->RegisterBooleanPref(prefs::kHeliumExtProxyEnabled, true);
@@ -144,7 +144,7 @@
</div>
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1927,6 +1927,12 @@
@@ -1937,6 +1937,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>
@@ -159,7 +159,7 @@
</message>
--- 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,9 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1960,6 +1960,9 @@ void AddPrivacyStrings(content::WebUIDat
{"heliumBangsToggle", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE},
{"heliumBangsToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION},

View File

@@ -68,7 +68,7 @@
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -212,6 +212,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -214,6 +214,7 @@ void RegisterBrowserUserPrefs(user_prefs
registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false);
registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false);
registry->RegisterBooleanPref(prefs::kHeliumUpdateFetchingEnabled, true);
@@ -217,7 +217,7 @@
if ( bin.assetSourceRegistry instanceof Object ) {
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1939,6 +1939,12 @@
@@ -1949,6 +1949,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>
@@ -246,7 +246,7 @@
</div>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1970,6 +1970,10 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1971,6 +1971,10 @@ void AddPrivacyStrings(content::WebUIDat
IDS_SETTINGS_HELIUM_SERVICES_UPDATE},
{"heliumUpdatesToggleDescription",
IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION},

View File

@@ -9,7 +9,7 @@
#if defined(USE_AURA)
registry->RegisterBooleanPref(prefs::kOverscrollHistoryNavigationEnabled,
@@ -144,7 +144,7 @@ void RegisterBrowserUserPrefs(user_prefs
@@ -146,7 +146,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.

View File

@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -240,7 +240,7 @@
@@ -250,7 +250,7 @@
<message name="IDS_SETTINGS_RESET_TO_DEFAULT" desc="Name of the control which resets a browser setting back to the default value">
Reset to default
</message>
@@ -9,7 +9,7 @@
<message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Accessibility label of the button which resets the browser theme back to the default value">
Reset to default theme
</message>
@@ -275,6 +275,9 @@
@@ -285,6 +285,9 @@
<message name="IDS_SETTINGS_AUTO_PIN_NEW_TAB_GROUPS" desc="Label for the checkbox which enables or disables auto pin new tab groups.">
Automatically pin new tab groups created on any device to the bookmarks bar
</message>
@@ -21,7 +21,7 @@
</message>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -517,7 +517,7 @@ void AddAppearanceStrings(content::WebUI
@@ -518,7 +518,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},
@@ -549,9 +549,7 @@ void AddAppearanceStrings(content::WebUI
@@ -550,9 +550,7 @@ void AddAppearanceStrings(content::WebUI
{"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
{"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME},
#endif

View File

@@ -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
@@ -1796,7 +1796,7 @@ void AddSyncControlsStrings(content::Web
@@ -1797,7 +1797,7 @@ void AddSyncControlsStrings(content::Web
void AddPeopleStrings(content::WebUIDataSource* html_source, Profile* profile) {
static constexpr webui::LocalizedString kLocalizedStrings[] = {
// Top level people strings:

View File

@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1890,6 +1890,9 @@
@@ -1900,6 +1900,9 @@
<message name="IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TEXT" desc="The text of a confirmation dialog that confirms that the user want to send the 'Do Not Track' header">
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.
</message>
@@ -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>
@@ -3091,6 +3094,9 @@
@@ -3101,6 +3104,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>
@@ -22,7 +22,7 @@
</message>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1944,7 +1944,7 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1945,7 +1945,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.
@@ -2639,7 +2639,7 @@ void AddSiteSettingsStrings(content::Web
@@ -2640,7 +2640,7 @@ void AddSiteSettingsStrings(content::Web
{"trackingProtectionSitesAllowedCookiesTitle",
IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_TITLE},
{"trackingProtectionSitesAllowedCookiesDescription",

View File

@@ -1,6 +1,6 @@
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -1903,6 +1903,12 @@
@@ -1913,6 +1913,12 @@
users to manage security settings">
Security
</message>
@@ -15,7 +15,7 @@
</message>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1949,9 +1949,9 @@ void AddPrivacyStrings(content::WebUIDat
@@ -1950,9 +1950,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},

View File

@@ -24,7 +24,7 @@
Signed in to <ph name="EMAIL">$1<ex>abcd@google.com</ex></ph>
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1652,8 +1652,8 @@ void AddPersonalizationOptionsStrings(co
@@ -1653,8 +1653,8 @@ void AddPersonalizationOptionsStrings(co
{"enablePersonalizationLoggingDesc",
IDS_SETTINGS_ENABLE_LOGGING_PREF_DESC},
{"spellingDescription", IDS_SETTINGS_SPELLING_PREF_DESC},

View File

@@ -123,7 +123,7 @@ helium/core/search/fix-search-engine-icons.patch
helium/core/search/force-eu-search-features.patch
helium/core/search/remove-description-snippet-deps.patch
helium/core/copy-page-url-shortcut.patch
helium/core/keyboard-shortcuts.patch
helium/core/update-default-browser-prefs.patch
helium/core/proxy-extension-downloads.patch
helium/core/reenable-update-checks.patch
@@ -157,7 +157,6 @@ helium/core/exclude-irrelevant-flags.patch
helium/core/disable-outdated-build-detector.patch
helium/core/remove-dead-toolbar-actions.patch
helium/core/protect-browser-keyboard-shortcuts.patch
helium/core/add-component-l10n-support.patch
helium/core/add-component-managed-schema-support.patch
helium/core/ublock-setup-sources.patch