| Index: chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
|
| diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
|
| index 207bd085b1d160e95be83f0c79e88a646e148713..ba9736a32f877ac7888e1e11d45cfe372c920c3c 100644
|
| --- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
|
| +++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
|
| @@ -648,8 +648,9 @@ bool AutocompleteEditViewMac::OnAfterPossibleChange() {
|
| const std::wstring new_text(GetText());
|
| const size_t length = new_text.length();
|
|
|
| - const bool selection_differs = !NSEqualRanges(new_selection,
|
| - selection_before_change_);
|
| + const bool selection_differs =
|
| + (new_selection.length || selection_before_change_.length) &&
|
| + !NSEqualRanges(new_selection, selection_before_change_);
|
| const bool at_end_of_edit = (length == new_selection.location);
|
| const bool text_differs = (new_text != text_before_change_) ||
|
| !NSEqualRanges(marked_range_before_change_, GetMarkedRange());
|
| @@ -810,10 +811,8 @@ bool AutocompleteEditViewMac::OnDoCommandBySelector(SEL cmd) {
|
|
|
| if (cmd == @selector(insertTab:) ||
|
| cmd == @selector(insertTabIgnoringFieldEditor:)) {
|
| - if (model_->is_keyword_hint() && !model_->keyword().empty()) {
|
| - model_->AcceptKeyword();
|
| - return true;
|
| - }
|
| + if (model_->is_keyword_hint())
|
| + return model_->AcceptKeyword();
|
|
|
| if (suggest_text_length_ > 0) {
|
| controller_->OnCommitSuggestedText(GetText());
|
| @@ -939,10 +938,8 @@ void AutocompleteEditViewMac::OnPaste() {
|
| NSTextView* editor = static_cast<NSTextView*>([field_ currentEditor]);
|
| const NSRange selectedRange = GetSelectedRange();
|
| if ([editor shouldChangeTextInRange:selectedRange replacementString:s]) {
|
| - // If this paste will be replacing all the text, record that, so
|
| - // we can do different behaviors in such a case.
|
| - if (IsSelectAll())
|
| - model_->on_paste_replacing_all();
|
| + // Record this paste, so we can do different behavior.
|
| + model_->on_paste();
|
|
|
| // Force a Paste operation to trigger the text_changed code in
|
| // OnAfterPossibleChange(), even if identical contents are pasted
|
|
|