| Index: chrome/browser/extensions/extension_keybinding_registry.cc
|
| diff --git a/chrome/browser/extensions/extension_keybinding_registry.cc b/chrome/browser/extensions/extension_keybinding_registry.cc
|
| index 3b239420ad39666d9dedf6be153d756104c48c69..22837a82a1b36a0831e0030efa77d2e29a56bb8c 100644
|
| --- a/chrome/browser/extensions/extension_keybinding_registry.cc
|
| +++ b/chrome/browser/extensions/extension_keybinding_registry.cc
|
| @@ -197,10 +197,17 @@ void ExtensionKeybindingRegistry::Observe(
|
| return;
|
|
|
| if (ExtensionMatchesFilter(extension)) {
|
| - if (type == extensions::NOTIFICATION_EXTENSION_COMMAND_ADDED)
|
| + if (type == extensions::NOTIFICATION_EXTENSION_COMMAND_ADDED) {
|
| + // Component extensions triggers OnExtensionLoaded for extension
|
| + // installs as well as loads. This can cause adding of multiple key
|
| + // targets.
|
| + if (extension->location() == Manifest::COMPONENT)
|
| + return;
|
| +
|
| AddExtensionKeybindings(extension, payload->command_name);
|
| - else
|
| + } else {
|
| RemoveExtensionKeybinding(extension, payload->command_name);
|
| + }
|
| }
|
| break;
|
| }
|
|
|