Index: ui/views/cocoa/bridged_native_widget.mm |
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm |
index 0769dae12894468094ee50a1ddb8fecb7e683106..93b1a9529433c13103344ce6937927c5574f3a65 100644 |
--- a/ui/views/cocoa/bridged_native_widget.mm |
+++ b/ui/views/cocoa/bridged_native_widget.mm |
@@ -789,12 +789,15 @@ void BridgedNativeWidget::CreateLayer(ui::LayerType layer_type, |
//////////////////////////////////////////////////////////////////////////////// |
// BridgedNativeWidget, internal::InputMethodDelegate: |
-bool BridgedNativeWidget::DispatchKeyEventPostIME(const ui::KeyEvent& key) { |
+ui::EventDispatchDetails BridgedNativeWidget::DispatchKeyEventPostIME( |
+ ui::KeyEvent* key) { |
DCHECK(focus_manager_); |
- native_widget_mac_->GetWidget()->OnKeyEvent(const_cast<ui::KeyEvent*>(&key)); |
- if (!key.handled()) |
- return !focus_manager_->OnKeyEvent(key); |
- return key.handled(); |
+ native_widget_mac_->GetWidget()->OnKeyEvent(key); |
+ if (!key->handled()) { |
+ if (!focus_manager_->OnKeyEvent(*key)) |
+ key->StopPropagation(); |
+ } |
+ return ui::EventDispatchDetails(); |
} |
//////////////////////////////////////////////////////////////////////////////// |