summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-26 21:52:49 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-26 21:52:49 +0000
commit1c4963245b3b8bf0939c21634857a12d1b7135a9 (patch)
treefe6c6ccb41cf1f5057a7fd38fb42d0c107914c00
parent61398156d8c68470a29914d77191f16df69b4c84 (diff)
downloadchromium_src-1c4963245b3b8bf0939c21634857a12d1b7135a9.zip
chromium_src-1c4963245b3b8bf0939c21634857a12d1b7135a9.tar.gz
chromium_src-1c4963245b3b8bf0939c21634857a12d1b7135a9.tar.bz2
Don't inline autocomplete when the selected text is not the previously inline autocompleted text.
BUG=7894 TEST=none Review URL: http://codereview.chromium.org/3136036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57592 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit.cc2
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit.h3
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc3
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.mm3
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_win.cc3
5 files changed, 10 insertions, 4 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit.cc b/chrome/browser/autocomplete/autocomplete_edit.cc
index 230cbf7..b4b09c3 100644
--- a/chrome/browser/autocomplete/autocomplete_edit.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit.cc
@@ -281,9 +281,11 @@ void AutocompleteEditModel::Revert() {
}
void AutocompleteEditModel::StartAutocomplete(
+ bool has_selected_text,
bool prevent_inline_autocomplete) const {
popup_->StartAutocomplete(user_text_, GetDesiredTLD(),
prevent_inline_autocomplete || just_deleted_text_ ||
+ (has_selected_text && inline_autocomplete_text_.empty()) ||
(paste_state_ != NONE), keyword_ui_state_ == KEYWORD);
}
diff --git a/chrome/browser/autocomplete/autocomplete_edit.h b/chrome/browser/autocomplete/autocomplete_edit.h
index 99374a6..38804999 100644
--- a/chrome/browser/autocomplete/autocomplete_edit.h
+++ b/chrome/browser/autocomplete/autocomplete_edit.h
@@ -179,7 +179,8 @@ class AutocompleteEditModel : public NotificationObserver {
void Revert();
// Directs the popup to start autocomplete.
- void StartAutocomplete(bool prevent_inline_autocomplete) const;
+ void StartAutocomplete(bool has_selected_text,
+ bool prevent_inline_autocomplete) const;
// Determines whether the user can "paste and go", given the specified text.
// This also updates the internal paste-and-go-related state variables as
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
index 43ab216..e3508f4 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
@@ -479,7 +479,8 @@ void AutocompleteEditViewGtk::UpdatePopup() {
// Don't inline autocomplete when the caret/selection isn't at the end of
// the text.
CharRange sel = GetSelection();
- model_->StartAutocomplete(std::max(sel.cp_max, sel.cp_min) < GetTextLength());
+ model_->StartAutocomplete(sel.cp_min != sel.cp_max,
+ std::max(sel.cp_max, sel.cp_min) < GetTextLength());
}
void AutocompleteEditViewGtk::ClosePopup() {
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
index 2fa3540..916cefc 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
@@ -407,7 +407,8 @@ void AutocompleteEditViewMac::UpdatePopup() {
prevent_inline_autocomplete = true;
}
- model_->StartAutocomplete(prevent_inline_autocomplete);
+ model_->StartAutocomplete([editor selectedRange].length != 0,
+ prevent_inline_autocomplete);
}
void AutocompleteEditViewMac::ClosePopup() {
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc
index f7204a5..802e54d 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc
@@ -691,7 +691,8 @@ void AutocompleteEditViewWin::UpdatePopup() {
// * The user is trying to compose something in an IME
CHARRANGE sel;
GetSel(sel);
- model_->StartAutocomplete((sel.cpMax < GetTextLength()) || ime_composing);
+ model_->StartAutocomplete(sel.cpMax != sel.cpMin,
+ (sel.cpMax < GetTextLength()) || ime_composing);
}
void AutocompleteEditViewWin::ClosePopup() {