summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorjered@chromium.org <jered@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 11:39:44 +0000
committerjered@chromium.org <jered@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 11:39:44 +0000
commitb20d989cf3d9f327c0e347d06f83f22854b3d3ab (patch)
treef595a2f6d68f5358f58c261e3b842b8820a016d8 /ui
parentc4f3aa249dfe938e9407bdd5a57ebfb4c5ad9c26 (diff)
downloadchromium_src-b20d989cf3d9f327c0e347d06f83f22854b3d3ab.zip
chromium_src-b20d989cf3d9f327c0e347d06f83f22854b3d3ab.tar.gz
chromium_src-b20d989cf3d9f327c0e347d06f83f22854b3d3ab.tar.bz2
InstantExtended: Prevent suggestions from updating when omnibox loses focus
BUG=179981 Review URL: https://chromiumcodereview.appspot.com/12659002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188341 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/views/controls/textfield/native_textfield_views.cc6
-rw-r--r--ui/views/controls/textfield/native_textfield_views_unittest.cc9
2 files changed, 11 insertions, 4 deletions
diff --git a/ui/views/controls/textfield/native_textfield_views.cc b/ui/views/controls/textfield/native_textfield_views.cc
index 70c9a51..ed6c071 100644
--- a/ui/views/controls/textfield/native_textfield_views.cc
+++ b/ui/views/controls/textfield/native_textfield_views.cc
@@ -165,7 +165,9 @@ void NativeTextfieldViews::OnGestureEvent(ui::GestureEvent* event) {
event->SetHandled();
break;
case ui::ET_GESTURE_DOUBLE_TAP:
+ OnBeforeUserAction();
SelectAll(false);
+ OnAfterUserAction();
event->SetHandled();
break;
case ui::ET_GESTURE_SCROLL_UPDATE:
@@ -495,19 +497,15 @@ string16 NativeTextfieldViews::GetSelectedText() const {
}
void NativeTextfieldViews::SelectAll(bool reversed) {
- OnBeforeUserAction();
model_->SelectAll(reversed);
OnCaretBoundsChanged();
SchedulePaint();
- OnAfterUserAction();
}
void NativeTextfieldViews::ClearSelection() {
- OnBeforeUserAction();
model_->ClearSelection();
OnCaretBoundsChanged();
SchedulePaint();
- OnAfterUserAction();
}
void NativeTextfieldViews::UpdateBorder() {
diff --git a/ui/views/controls/textfield/native_textfield_views_unittest.cc b/ui/views/controls/textfield/native_textfield_views_unittest.cc
index 6e652fb..2e1dc96 100644
--- a/ui/views/controls/textfield/native_textfield_views_unittest.cc
+++ b/ui/views/controls/textfield/native_textfield_views_unittest.cc
@@ -1217,6 +1217,15 @@ TEST_F(NativeTextfieldViewsTest, TextInputClientTest) {
EXPECT_EQ(1, on_before_user_action_);
EXPECT_EQ(1, on_after_user_action_);
+ // On{Before,After}UserAction should be called by whatever user action
+ // triggers clearing or setting a selection if appropriate.
+ on_before_user_action_ = on_after_user_action_ = 0;
+ textfield_->clear();
+ textfield_->ClearSelection();
+ textfield_->SelectAll(false);
+ EXPECT_EQ(0, on_before_user_action_);
+ EXPECT_EQ(0, on_after_user_action_);
+
input_method_->Clear();
textfield_->SetReadOnly(true);
EXPECT_TRUE(input_method_->text_input_type_changed());