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 |