| 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 c5fa0a2c5ca7cb9376e0e21eead05b14dd0d8cd8..72c2a297170e97f3078662814f76d8bd023b58d9 100644
|
| --- a/ui/views/cocoa/bridged_native_widget.mm
|
| +++ b/ui/views/cocoa/bridged_native_widget.mm
|
| @@ -25,8 +25,6 @@
|
| #include "ui/views/cocoa/tooltip_manager_mac.h"
|
| #import "ui/views/cocoa/views_nswindow_delegate.h"
|
| #import "ui/views/cocoa/widget_owner_nswindow_adapter.h"
|
| -#include "ui/views/ime/input_method_bridge.h"
|
| -#include "ui/views/ime/null_input_method.h"
|
| #include "ui/views/view.h"
|
| #include "ui/views/views_delegate.h"
|
| #include "ui/views/widget/native_widget_mac.h"
|
| @@ -707,15 +705,10 @@ void BridgedNativeWidget::OnSizeConstraintsChanged() {
|
| shows_fullscreen_controls);
|
| }
|
|
|
| -InputMethod* BridgedNativeWidget::CreateInputMethod() {
|
| - return new InputMethodBridge(this, GetHostInputMethod(), true);
|
| -}
|
| -
|
| -ui::InputMethod* BridgedNativeWidget::GetHostInputMethod() {
|
| +ui::InputMethod* BridgedNativeWidget::GetInputMethod() {
|
| if (!input_method_) {
|
| - // Delegate is NULL because Mac IME does not need DispatchKeyEventPostIME
|
| - // callbacks.
|
| - input_method_ = ui::CreateInputMethod(NULL, nil);
|
| + input_method_ = ui::CreateInputMethod(this, nil);
|
| + input_method_->OnFocus();
|
| }
|
| return input_method_.get();
|
| }
|
| @@ -757,11 +750,12 @@ void BridgedNativeWidget::CreateLayer(ui::LayerType layer_type,
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // BridgedNativeWidget, internal::InputMethodDelegate:
|
|
|
| -void BridgedNativeWidget::DispatchKeyEventPostIME(const ui::KeyEvent& key) {
|
| +bool BridgedNativeWidget::DispatchKeyEventPostIME(const ui::KeyEvent& key) {
|
| DCHECK(focus_manager_);
|
| native_widget_mac_->GetWidget()->OnKeyEvent(const_cast<ui::KeyEvent*>(&key));
|
| if (!key.handled())
|
| focus_manager_->OnKeyEvent(key);
|
| + return key.handled();
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| @@ -784,9 +778,12 @@ void BridgedNativeWidget::OnWillChangeFocus(View* focused_before,
|
|
|
| void BridgedNativeWidget::OnDidChangeFocus(View* focused_before,
|
| View* focused_now) {
|
| - ui::TextInputClient* input_client =
|
| - focused_now ? focused_now->GetTextInputClient() : NULL;
|
| - [bridged_view_ setTextInputClient:input_client];
|
| + ui::InputMethod* input_method =
|
| + native_widget_mac_->GetWidget()->GetInputMethod();
|
| + if (input_method) {
|
| + ui::TextInputClient* input_client = input_method->GetTextInputClient();
|
| + [bridged_view_ setTextInputClient:input_client];
|
| + }
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|