electron/patches/common/chromium/fix_zoom_display.patch
Shelley Vohr 833269ffde
fix: correctly display zoom in accelerator on mac (#15502)
* fix: correctly display zoom in accelerator on mac

* add release to patch info
2018-11-07 13:42:30 -08:00

30 lines
1.4 KiB
Diff

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
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;
}