diff options
author | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-09 03:36:22 +0000 |
---|---|---|
committer | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-09 03:36:22 +0000 |
commit | 33cb9123f7d822196e3b35380159acbc421982af (patch) | |
tree | 422c913fd97f385741e70773913696290dd0c553 | |
parent | 353e95ef88c78257c55aceb65dd4c27d7a7cde7f (diff) | |
download | chromium_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.cc | 11 |
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(); |