      shortcut = l10n_util::GetStringFUTF16(IDS_APP_ALT_MODIFIER, shortcut);
  
    if (IsCmdDown()) {
-@@ -249,14 +258,12 @@ base::string16 Accelerator::ApplyShortFormModifiers(
+@@ -249,14 +256,12 @@ base::string16 Accelerator::ApplyShortFormModifiers(
      base::string16 shortcut) const {
    const base::char16 kCommandSymbol[] = {0x2318, 0};
    const base::char16 kCtrlSymbol[] = {0x2303, 0};

 #endif
   }
 
@@ -221,15 +233,12 @@ base::string16 Accelerator::GetShortcutText() const {
 
 base::string16 Accelerator::ApplyLongFormModifiers(
     base::string16 shortcut) const {
-  if (IsShiftDown())
-    shortcut = l10n_util::GetStringFUTF16(IDS_APP_SHIFT_MODIFIER, shortcut);
-
   // Note that we use 'else-if' in order to avoid using Ctrl+Alt as a shortcut.
   // See http://blogs.msdn.com/oldnewthing/archive/2004/03/29/101121.aspx for
   // more information.

 
 namespace ui {
 
@@ -145,7 +144,15 @@ base::string16 Accelerator::GetShortcutText() const {
   shortcut = KeyCodeToName(key_code_);
 #endif
 
+  unsigned int flags = 0;
   if (shortcut.empty()) {
+    const uint16_t c = DomCodeToUsLayoutCharacter(
+        UsLayoutKeyboardCodeToDomCode(key_code_), flags);
+    if (c != 0) {
