Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: correctly display zoom in accelerator on mac #15502

Merged
merged 3 commits into from Nov 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions patches/common/chromium/.patches
Expand Up @@ -74,5 +74,6 @@ tts.patch
color_chooser.patch
printing.patch
verbose_generate_breakpad_symbols.patch
fix_zoom_display.patch
chrome_process_finder.patch
customizable_app_indicator_id_prefix.patch
30 changes: 30 additions & 0 deletions patches/common/chromium/fix_zoom_display.patch
@@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Web Oct 31 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Web, 31 Oct 2018 09:08:02 -0700
Subject: fix_zoom_display.patch
codebytere marked this conversation as resolved.
Show resolved Hide resolved

This patch was released in 70.0.3512.0.

diff --git a/ui/base/accelerators/platform_accelerator_cocoa.mm b/ui/base/accelerators/platform_accelerator_cocoa.mm
index 9786168be893..3c177060453a 100644
--- a/ui/base/accelerators/platform_accelerator_cocoa.mm
+++ b/ui/base/accelerators/platform_accelerator_cocoa.mm
@@ -25,9 +25,16 @@ void GetKeyEquivalentAndModifierMaskFromAccelerator(
if (accelerator.IsCmdDown())
cocoa_modifiers |= NSEventModifierFlagCommand;
unichar shifted_character;
+ unichar character;
int result = ui::MacKeyCodeForWindowsKeyCode(
- accelerator.key_code(), cocoa_modifiers, &shifted_character, nullptr);
- DCHECK(result != -1);
+ accelerator.key_code(), cocoa_modifiers, &shifted_character, &character);
+ DCHECK_NE(result, -1);
+
+ // If the key equivalent is itself shifted, then drop Shift from the modifier
+ // flags, otherwise Shift will be required. E.g., curly braces and plus are
+ // both inherently shifted, so the key equivalents shouldn't require Shift.
+ if (shifted_character != character)
+ cocoa_modifiers &= ~NSEventModifierFlagShift;
*key_equivalent = [NSString stringWithFormat:@"%C", shifted_character];
*modifier_mask = cocoa_modifiers;
}