Chromium Code Reviews| Index: ash/accelerators/key_hold_detector.cc |
| diff --git a/ash/accelerators/key_hold_detector.cc b/ash/accelerators/key_hold_detector.cc |
| index 131568eaf6414f42c44375293fcf85a584d078a0..a6e03cc97d1b48d4ec0e0bf47455dffda8937c23 100644 |
| --- a/ash/accelerators/key_hold_detector.cc |
| +++ b/ash/accelerators/key_hold_detector.cc |
| @@ -19,29 +19,30 @@ |
| namespace ash { |
| namespace { |
| -void DispatchPressedEvent(XEvent native_event, |
| +void DispatchPressedEvent(ui::KeyEvent event, |
|
sadrul
2014/08/19 03:46:19
const &
kpschoedel
2014/08/19 21:58:10
This gets passed to the non-const OnEventFromSourc
|
| scoped_ptr<aura::WindowTracker> tracker) { |
| // The target window may be gone. |
| if (tracker->windows().empty()) |
| return; |
| aura::Window* target = *(tracker->windows().begin()); |
| - ui::KeyEvent event(&native_event); |
| - event.set_flags(event.flags() | ui::EF_IS_SYNTHESIZED); |
| ui::EventDispatchDetails result ALLOW_UNUSED = |
| target->GetHost()->event_processor()->OnEventFromSource(&event); |
| } |
| void PostPressedEvent(ui::KeyEvent* event) { |
| // Modify RELEASED event to PRESSED event. |
| - XEvent xkey = *(event->native_event()); |
| - xkey.xkey.type = KeyPress; |
| - xkey.xkey.state |= ShiftMask; |
| + ui::KeyEvent pressed_event( |
| + ui::ET_KEY_PRESSED, |
| + event->key_code(), |
| + event->code(), |
| + event->flags() | ui::EF_SHIFT_DOWN | ui::EF_IS_SYNTHESIZED); |
| + |
| scoped_ptr<aura::WindowTracker> tracker(new aura::WindowTracker); |
| tracker->Add(static_cast<aura::Window*>(event->target())); |
| base::MessageLoopForUI::current()->PostTask( |
| FROM_HERE, |
| - base::Bind(&DispatchPressedEvent, xkey, base::Passed(&tracker))); |
| + base::Bind(&DispatchPressedEvent, pressed_event, base::Passed(&tracker))); |
| } |
| } // namespace |