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 1759a9591417fda6c370599fbd4cccb5c0c50f59..1bd03ff243ee6d097a8d3ac0e766240a09d3199e 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(); |
} |
//////////////////////////////////////////////////////////////////////////////// |