| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_mac.h" | 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_mac.h" |
| 6 | 6 |
| 7 #include <Carbon/Carbon.h> // kVK_Return | 7 #include <Carbon/Carbon.h> // kVK_Return |
| 8 | 8 |
| 9 #include "app/mac/nsimage_cache.h" | 9 #include "app/mac/nsimage_cache.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 suggest_text_length_ = 0; | 597 suggest_text_length_ = 0; |
| 598 SetWindowTextAndCaretPos(display_text, display_text.size()); | 598 SetWindowTextAndCaretPos(display_text, display_text.size()); |
| 599 model_->OnChanged(); | 599 model_->OnChanged(); |
| 600 [field_ clearUndoChain]; | 600 [field_ clearUndoChain]; |
| 601 } | 601 } |
| 602 | 602 |
| 603 void AutocompleteEditViewMac::OnStartingIME() { | 603 void AutocompleteEditViewMac::OnStartingIME() { |
| 604 // Reset the suggest text just before starting an IME composition session, | 604 // Reset the suggest text just before starting an IME composition session, |
| 605 // otherwise the IME composition may be interrupted when the suggest text | 605 // otherwise the IME composition may be interrupted when the suggest text |
| 606 // gets reset by the IME composition change. | 606 // gets reset by the IME composition change. |
| 607 SetInstantSuggestion(string16()); | 607 SetInstantSuggestion(string16(), false); |
| 608 } | 608 } |
| 609 | 609 |
| 610 bool AutocompleteEditViewMac::OnInlineAutocompleteTextMaybeChanged( | 610 bool AutocompleteEditViewMac::OnInlineAutocompleteTextMaybeChanged( |
| 611 const string16& display_text, size_t user_text_length) { | 611 const string16& display_text, size_t user_text_length) { |
| 612 // TODO(shess): Make sure that this actually works. The round trip | 612 // TODO(shess): Make sure that this actually works. The round trip |
| 613 // to native form and back may mean that it's the same but not the | 613 // to native form and back may mean that it's the same but not the |
| 614 // same. | 614 // same. |
| 615 if (display_text == GetText()) | 615 if (display_text == GetText()) |
| 616 return false; | 616 return false; |
| 617 | 617 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 696 | 696 |
| 697 gfx::NativeView AutocompleteEditViewMac::GetNativeView() const { | 697 gfx::NativeView AutocompleteEditViewMac::GetNativeView() const { |
| 698 return field_; | 698 return field_; |
| 699 } | 699 } |
| 700 | 700 |
| 701 CommandUpdater* AutocompleteEditViewMac::GetCommandUpdater() { | 701 CommandUpdater* AutocompleteEditViewMac::GetCommandUpdater() { |
| 702 return command_updater_; | 702 return command_updater_; |
| 703 } | 703 } |
| 704 | 704 |
| 705 void AutocompleteEditViewMac::SetInstantSuggestion( | 705 void AutocompleteEditViewMac::SetInstantSuggestion( |
| 706 const string16& suggest_text) { | 706 const string16& suggest_text, |
| 707 bool animate_to_complete) { |
| 707 NSString* text = GetNonSuggestTextSubstring(); | 708 NSString* text = GetNonSuggestTextSubstring(); |
| 708 bool needs_update = (suggest_text_length_ > 0); | 709 bool needs_update = (suggest_text_length_ > 0); |
| 709 | 710 |
| 710 // Append the new suggest text. | 711 // Append the new suggest text. |
| 711 suggest_text_length_ = suggest_text.length(); | 712 suggest_text_length_ = suggest_text.length(); |
| 712 if (suggest_text_length_ > 0) { | 713 if (suggest_text_length_ > 0) { |
| 713 text = [text stringByAppendingString:base::SysUTF16ToNSString( | 714 text = [text stringByAppendingString:base::SysUTF16ToNSString( |
| 714 suggest_text)]; | 715 suggest_text)]; |
| 715 needs_update = true; | 716 needs_update = true; |
| 716 } | 717 } |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 bool AutocompleteEditViewMac::OnDoCommandBySelector(SEL cmd) { | 763 bool AutocompleteEditViewMac::OnDoCommandBySelector(SEL cmd) { |
| 763 // We should only arrive here when the field is focussed. | 764 // We should only arrive here when the field is focussed. |
| 764 DCHECK(IsFirstResponder()); | 765 DCHECK(IsFirstResponder()); |
| 765 | 766 |
| 766 if (cmd != @selector(moveRight:) && | 767 if (cmd != @selector(moveRight:) && |
| 767 cmd != @selector(insertTab:) && | 768 cmd != @selector(insertTab:) && |
| 768 cmd != @selector(insertTabIgnoringFieldEditor:)) { | 769 cmd != @selector(insertTabIgnoringFieldEditor:)) { |
| 769 // Reset the suggest text for any change other than key right or tab. | 770 // Reset the suggest text for any change other than key right or tab. |
| 770 // TODO(rohitrao): This is here to prevent complications when editing text. | 771 // TODO(rohitrao): This is here to prevent complications when editing text. |
| 771 // See if this can be removed. | 772 // See if this can be removed. |
| 772 SetInstantSuggestion(string16()); | 773 SetInstantSuggestion(string16(), false); |
| 773 } | 774 } |
| 774 | 775 |
| 775 if (cmd == @selector(deleteForward:)) | 776 if (cmd == @selector(deleteForward:)) |
| 776 delete_was_pressed_ = true; | 777 delete_was_pressed_ = true; |
| 777 | 778 |
| 778 // Don't intercept up/down-arrow if the popup isn't open. | 779 // Don't intercept up/down-arrow if the popup isn't open. |
| 779 if (popup_view_->IsOpen()) { | 780 if (popup_view_->IsOpen()) { |
| 780 if (cmd == @selector(moveDown:)) { | 781 if (cmd == @selector(moveDown:)) { |
| 781 model_->OnUpOrDownKeyPressed(1); | 782 model_->OnUpOrDownKeyPressed(1); |
| 782 return true; | 783 return true; |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1109 | 1110 |
| 1110 void AutocompleteEditViewMac::PlaceCaretAt(NSUInteger pos) { | 1111 void AutocompleteEditViewMac::PlaceCaretAt(NSUInteger pos) { |
| 1111 DCHECK(pos <= GetTextLength()); | 1112 DCHECK(pos <= GetTextLength()); |
| 1112 SetSelectedRange(NSMakeRange(pos, pos)); | 1113 SetSelectedRange(NSMakeRange(pos, pos)); |
| 1113 } | 1114 } |
| 1114 | 1115 |
| 1115 bool AutocompleteEditViewMac::IsCaretAtEnd() const { | 1116 bool AutocompleteEditViewMac::IsCaretAtEnd() const { |
| 1116 const NSRange selection = GetSelectedRange(); | 1117 const NSRange selection = GetSelectedRange(); |
| 1117 return selection.length == 0 && selection.location == GetTextLength(); | 1118 return selection.length == 0 && selection.location == GetTextLength(); |
| 1118 } | 1119 } |
| OLD | NEW |