| Index: chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.cc
|
| diff --git a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.cc b/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.cc
|
| index 56fa8dcd269375dc9967af706f6233bde962f4da..370ee81d4c2fceb8db422180ebcb0d35888d580e 100644
|
| --- a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.cc
|
| +++ b/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.cc
|
| @@ -39,17 +39,25 @@ ui::EventRewriteStatus SpokenFeedbackEventRewriter::RewriteEvent(
|
| if (!extension)
|
| return ui::EVENT_REWRITE_CONTINUE;
|
|
|
| + extensions::EventRouter* event_router = extensions::EventRouter::Get(context);
|
| + if (!event_router->ExtensionHasEventListener(
|
| + extension_misc::kChromeVoxExtensionId, "commands.onCommand"))
|
| + return ui::EVENT_REWRITE_CONTINUE;
|
| +
|
| const extensions::CommandMap* commands =
|
| extensions::CommandsInfo::GetNamedCommands(extension);
|
| if (!commands)
|
| return ui::EVENT_REWRITE_CONTINUE;
|
|
|
| const ui::KeyEvent key_event = static_cast<const ui::KeyEvent&>(event);
|
| + int modifiers = key_event.flags() & ui::EF_ALL_MODIFIERS;
|
| std::string command_name;
|
| for (extensions::CommandMap::const_iterator iter = commands->begin();
|
| iter != commands->end(); ++iter) {
|
| + int command_modifiers =
|
| + iter->second.accelerator().modifiers() & ui::EF_ALL_MODIFIERS;
|
| if (iter->second.accelerator().key_code() == key_event.key_code() &&
|
| - iter->second.accelerator().modifiers() == key_event.flags())
|
| + command_modifiers == modifiers)
|
| command_name = iter->second.command_name();
|
| }
|
|
|
| @@ -63,8 +71,8 @@ ui::EventRewriteStatus SpokenFeedbackEventRewriter::RewriteEvent(
|
| new extensions::Event("commands.onCommand", args.Pass()));
|
| extension_event->restrict_to_browser_context = context;
|
|
|
| - extensions::EventRouter::Get(context)->DispatchEventToExtension(
|
| - extension_misc::kChromeVoxExtensionId, extension_event.Pass());
|
| + event_router->DispatchEventToExtension(extension_misc::kChromeVoxExtensionId,
|
| + extension_event.Pass());
|
|
|
| return ui::EVENT_REWRITE_DISCARD;
|
| }
|
|
|