| Index: ui/views/controls/tree/tree_view.cc
|
| diff --git a/ui/views/controls/tree/tree_view.cc b/ui/views/controls/tree/tree_view.cc
|
| index f103df827570fbe3da267be2f7cf303ff9c79dd7..ce6ea25f8c0e446d521c1c29c2ab3c6f3fa5289b 100644
|
| --- a/ui/views/controls/tree/tree_view.cc
|
| +++ b/ui/views/controls/tree/tree_view.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/i18n/rtl.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "ui/accessibility/ax_view_state.h"
|
| +#include "ui/base/ime/input_method.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/events/event.h"
|
| #include "ui/events/keycodes/keyboard_codes.h"
|
| @@ -23,7 +24,6 @@
|
| #include "ui/views/controls/scroll_view.h"
|
| #include "ui/views/controls/textfield/textfield.h"
|
| #include "ui/views/controls/tree/tree_view_controller.h"
|
| -#include "ui/views/ime/input_method.h"
|
| #include "ui/views/resources/grit/views_resources.h"
|
|
|
| using ui::TreeModel;
|
| @@ -370,12 +370,6 @@ bool TreeView::OnMousePressed(const ui::MouseEvent& event) {
|
| return OnClickOrTap(event);
|
| }
|
|
|
| -ui::TextInputClient* TreeView::GetTextInputClient() {
|
| - if (!selector_)
|
| - selector_.reset(new PrefixSelector(this));
|
| - return selector_.get();
|
| -}
|
| -
|
| void TreeView::OnGestureEvent(ui::GestureEvent* event) {
|
| if (event->type() == ui::ET_GESTURE_TAP) {
|
| if (OnClickOrTap(*event))
|
| @@ -618,17 +612,19 @@ void TreeView::OnPaint(gfx::Canvas* canvas) {
|
| }
|
|
|
| void TreeView::OnFocus() {
|
| - GetInputMethod()->OnFocus();
|
| + if (GetInputMethod())
|
| + GetInputMethod()->SetFocusedTextInputClient(GetPrefixSelector());
|
| View::OnFocus();
|
| SchedulePaintForNode(selected_node_);
|
|
|
| // Notify the InputMethod so that it knows to query the TextInputClient.
|
| if (GetInputMethod())
|
| - GetInputMethod()->OnCaretBoundsChanged(this);
|
| + GetInputMethod()->OnCaretBoundsChanged(GetPrefixSelector());
|
| }
|
|
|
| void TreeView::OnBlur() {
|
| - GetInputMethod()->OnBlur();
|
| + if (GetInputMethod())
|
| + GetInputMethod()->DetachTextInputClient(GetPrefixSelector());
|
| SchedulePaintForNode(selected_node_);
|
| if (selector_)
|
| selector_->OnViewBlur();
|
| @@ -1003,6 +999,12 @@ bool TreeView::ExpandImpl(TreeModelNode* model_node) {
|
| return return_value;
|
| }
|
|
|
| +PrefixSelector* TreeView::GetPrefixSelector() {
|
| + if (!selector_)
|
| + selector_.reset(new PrefixSelector(this));
|
| + return selector_.get();
|
| +}
|
| +
|
| // InternalNode ----------------------------------------------------------------
|
|
|
| TreeView::InternalNode::InternalNode()
|
|
|