diff options
author | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-21 21:02:51 +0000 |
---|---|---|
committer | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-21 21:02:51 +0000 |
commit | 88c39aaf6160753334888f6ab2ff81b57bdd25bf (patch) | |
tree | d8d067cfc435ca8e5de995fe0e3d5c7c3a8ffc6b | |
parent | 0c3c986be0715bffddc75000d2e94cb132a7da59 (diff) | |
download | chromium_src-88c39aaf6160753334888f6ab2ff81b57bdd25bf.zip chromium_src-88c39aaf6160753334888f6ab2ff81b57bdd25bf.tar.gz chromium_src-88c39aaf6160753334888f6ab2ff81b57bdd25bf.tar.bz2 |
Fix range comparison. Get space to accept keyword work.
I overlooked this placeholder code to fix.
BUG=none
TEST=enabled AcceptKeywordBySpaceTest for views-implementation
Review URL: http://codereview.chromium.org/6266015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72185 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_edit_view_views.cc | 4 | ||||
-rw-r--r-- | views/controls/textfield/textfield.h | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc index 5ecd047..6e00c93 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc @@ -984,4 +984,8 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) { BasicTextOperationsTest(); } +IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AcceptKeywordBySpace) { + AcceptKeywordBySpaceTest(); +} + #endif diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_views.cc b/chrome/browser/autocomplete/autocomplete_edit_view_views.cc index 357c7a2..f4935e0 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_views.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_views.cc @@ -484,7 +484,9 @@ bool AutocompleteEditViewViews::OnAfterPossibleChange() { // See if the text or selection have changed since OnBeforePossibleChange(). std::wstring new_text = GetText(); text_changed_ = (new_text != text_before_change_); - bool selection_differs = !sel_before_change_.Equals(new_sel); + bool selection_differs = + !((sel_before_change_.is_empty() && new_sel.is_empty()) || + sel_before_change_.EqualsIgnoringDirection(new_sel)); // When the user has deleted text, we don't allow inline autocomplete. Make // sure to not flag cases like selecting part of the text and then pasting diff --git a/views/controls/textfield/textfield.h b/views/controls/textfield/textfield.h index 90c8139..690e825 100644 --- a/views/controls/textfield/textfield.h +++ b/views/controls/textfield/textfield.h @@ -69,9 +69,9 @@ class TextRange { // Returns the max of selected range. size_t GetMax() const; - // Returns true if |range| has same start, end position. - bool Equals(const TextRange& range) const { - return start_ == range.start_ && end_ == range.end_; + // Returns true if the the selection range is same ignoring the direction. + bool EqualsIgnoringDirection(const TextRange& range) const { + return GetMin() == range.GetMin() && GetMax() == range.GetMax(); } // Set the range with |start| and |end|. |