Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: ui/views/controls/prefix_selector.cc

Issue 1177503003: Remove the 2-level input method system & InputMethodBridge. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/controls/prefix_selector.h" 5 #include "ui/views/controls/prefix_selector.h"
6 6
7 #include "base/i18n/case_conversion.h" 7 #include "base/i18n/case_conversion.h"
8 #include "ui/base/ime/input_method.h"
8 #include "ui/base/ime/text_input_type.h" 9 #include "ui/base/ime/text_input_type.h"
9 #include "ui/gfx/range/range.h" 10 #include "ui/gfx/range/range.h"
10 #include "ui/views/controls/prefix_delegate.h" 11 #include "ui/views/controls/prefix_delegate.h"
11 #include "ui/views/widget/widget.h" 12 #include "ui/views/widget/widget.h"
12 13
13 namespace views { 14 namespace views {
14 15
15 namespace { 16 namespace {
16 17
17 const int64 kTimeBeforeClearingMS = 1000; 18 const int64 kTimeBeforeClearingMS = 1000;
18 19
19 void ConvertRectToScreen(const views::View* src, gfx::Rect* r) { 20 void ConvertRectToScreen(const views::View* src, gfx::Rect* r) {
20 DCHECK(src); 21 DCHECK(src);
21 22
22 gfx::Point new_origin = r->origin(); 23 gfx::Point new_origin = r->origin();
23 views::View::ConvertPointToScreen(src, &new_origin); 24 views::View::ConvertPointToScreen(src, &new_origin);
24 r->set_origin(new_origin); 25 r->set_origin(new_origin);
25 } 26 }
26 27
27 } // namespace 28 } // namespace
28 29
29 PrefixSelector::PrefixSelector(PrefixDelegate* delegate) 30 PrefixSelector::PrefixSelector(PrefixDelegate* delegate)
30 : prefix_delegate_(delegate) { 31 : prefix_delegate_(delegate) {
31 } 32 }
32 33
33 PrefixSelector::~PrefixSelector() { 34 PrefixSelector::~PrefixSelector() {
35 ui::InputMethod* input_method = prefix_delegate_->GetInputMethod();
sky 2015/06/29 02:17:41 How come PrefixSelector has to detach, but not att
Shu Chen 2015/06/29 02:56:34 Done.
36 if (input_method)
37 input_method->DetachTextInputClient(this);
34 } 38 }
35 39
36 void PrefixSelector::OnViewBlur() { 40 void PrefixSelector::OnViewBlur() {
37 ClearText(); 41 ClearText();
38 } 42 }
39 43
40 void PrefixSelector::SetCompositionText( 44 void PrefixSelector::SetCompositionText(
41 const ui::CompositionText& composition) { 45 const ui::CompositionText& composition) {
42 } 46 }
43 47
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 return (model_text.size() >= lower_text.size()) && 194 return (model_text.size() >= lower_text.size()) &&
191 (model_text.compare(0, lower_text.size(), lower_text) == 0); 195 (model_text.compare(0, lower_text.size(), lower_text) == 0);
192 } 196 }
193 197
194 void PrefixSelector::ClearText() { 198 void PrefixSelector::ClearText() {
195 current_text_.clear(); 199 current_text_.clear();
196 time_of_last_key_ = base::TimeTicks(); 200 time_of_last_key_ = base::TimeTicks();
197 } 201 }
198 202
199 } // namespace views 203 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698