summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-09 03:36:22 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-09 03:36:22 +0000
commit33cb9123f7d822196e3b35380159acbc421982af (patch)
tree422c913fd97f385741e70773913696290dd0c553
parent353e95ef88c78257c55aceb65dd4c27d7a7cde7f (diff)
downloadchromium_src-33cb9123f7d822196e3b35380159acbc421982af.zip
chromium_src-33cb9123f7d822196e3b35380159acbc421982af.tar.gz
chromium_src-33cb9123f7d822196e3b35380159acbc421982af.tar.bz2
Always capture backspace and delete events in textfield.
BUG=117519 TEST=manually Review URL: http://codereview.chromium.org/10008044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131327 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/views/controls/textfield/native_textfield_views.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/ui/views/controls/textfield/native_textfield_views.cc b/ui/views/controls/textfield/native_textfield_views.cc
index 299d5a7..a635e0b 100644
--- a/ui/views/controls/textfield/native_textfield_views.cc
+++ b/ui/views/controls/textfield/native_textfield_views.cc
@@ -904,8 +904,15 @@ bool NativeTextfieldViews::HandleKeyEvent(const KeyEvent& key_event) {
model_->MoveCursor(gfx::WORD_BREAK, direction, true);
}
}
- cursor_changed = text_changed = (key_code == ui::VKEY_BACK) ?
- model_->Backspace() : model_->Delete();
+ if (key_code == ui::VKEY_BACK)
+ model_->Backspace();
+ else
+ model_->Delete();
+
+ // We have to consume the backspace/delete keys here even if the edit
+ // did not make effects. This is to prevent further handling of the key
+ // event that might have unintended side-effects.
+ text_changed = true;
break;
case ui::VKEY_INSERT:
GetRenderText()->ToggleInsertMode();