| 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 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 return 0; | 739 return 0; |
| 740 } | 740 } |
| 741 | 741 |
| 742 bool AutocompleteEditViewMac::IsImeComposing() const { | 742 bool AutocompleteEditViewMac::IsImeComposing() const { |
| 743 return [(NSTextView*)[field_ currentEditor] hasMarkedText]; | 743 return [(NSTextView*)[field_ currentEditor] hasMarkedText]; |
| 744 } | 744 } |
| 745 | 745 |
| 746 void AutocompleteEditViewMac::OnDidBeginEditing() { | 746 void AutocompleteEditViewMac::OnDidBeginEditing() { |
| 747 // We should only arrive here when the field is focussed. | 747 // We should only arrive here when the field is focussed. |
| 748 DCHECK([field_ currentEditor]); | 748 DCHECK([field_ currentEditor]); |
| 749 } |
| 749 | 750 |
| 751 void AutocompleteEditViewMac::OnBeforeChange() { |
| 750 // Capture the current state. | 752 // Capture the current state. |
| 751 OnBeforePossibleChange(); | 753 OnBeforePossibleChange(); |
| 752 } | 754 } |
| 753 | 755 |
| 754 void AutocompleteEditViewMac::OnDidChange() { | 756 void AutocompleteEditViewMac::OnDidChange() { |
| 755 // Figure out what changed and notify the model_. | 757 // Figure out what changed and notify the model_. |
| 756 OnAfterPossibleChange(); | 758 OnAfterPossibleChange(); |
| 757 | |
| 758 // Then capture the new state. | |
| 759 OnBeforePossibleChange(); | |
| 760 } | 759 } |
| 761 | 760 |
| 762 void AutocompleteEditViewMac::OnDidEndEditing() { | 761 void AutocompleteEditViewMac::OnDidEndEditing() { |
| 763 ClosePopup(); | 762 ClosePopup(); |
| 764 } | 763 } |
| 765 | 764 |
| 766 bool AutocompleteEditViewMac::OnDoCommandBySelector(SEL cmd) { | 765 bool AutocompleteEditViewMac::OnDoCommandBySelector(SEL cmd) { |
| 767 // We should only arrive here when the field is focussed. | 766 // We should only arrive here when the field is focussed. |
| 768 DCHECK(IsFirstResponder()); | 767 DCHECK(IsFirstResponder()); |
| 769 | 768 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 880 if (cmd == @selector(deleteForward:)) { | 879 if (cmd == @selector(deleteForward:)) { |
| 881 const NSUInteger modifiers = [[NSApp currentEvent] modifierFlags]; | 880 const NSUInteger modifiers = [[NSApp currentEvent] modifierFlags]; |
| 882 if ((modifiers & NSShiftKeyMask) != 0) { | 881 if ((modifiers & NSShiftKeyMask) != 0) { |
| 883 if (model_->popup_model()->IsOpen()) { | 882 if (model_->popup_model()->IsOpen()) { |
| 884 model_->popup_model()->TryDeletingCurrentItem(); | 883 model_->popup_model()->TryDeletingCurrentItem(); |
| 885 return true; | 884 return true; |
| 886 } | 885 } |
| 887 } | 886 } |
| 888 } | 887 } |
| 889 | 888 |
| 890 // Capture the state before the operation changes the content. | |
| 891 // TODO(shess): Determine if this is always redundent WRT the call | |
| 892 // in -controlTextDidChange:. | |
| 893 OnBeforePossibleChange(); | |
| 894 return false; | 889 return false; |
| 895 } | 890 } |
| 896 | 891 |
| 897 void AutocompleteEditViewMac::OnSetFocus(bool control_down) { | 892 void AutocompleteEditViewMac::OnSetFocus(bool control_down) { |
| 898 model_->OnSetFocus(control_down); | 893 model_->OnSetFocus(control_down); |
| 899 controller_->OnSetFocus(); | 894 controller_->OnSetFocus(); |
| 900 } | 895 } |
| 901 | 896 |
| 902 void AutocompleteEditViewMac::OnKillFocus() { | 897 void AutocompleteEditViewMac::OnKillFocus() { |
| 903 // Tell the model to reset itself. | 898 // Tell the model to reset itself. |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1117 | 1112 |
| 1118 void AutocompleteEditViewMac::PlaceCaretAt(NSUInteger pos) { | 1113 void AutocompleteEditViewMac::PlaceCaretAt(NSUInteger pos) { |
| 1119 DCHECK(pos <= GetTextLength()); | 1114 DCHECK(pos <= GetTextLength()); |
| 1120 SetSelectedRange(NSMakeRange(pos, pos)); | 1115 SetSelectedRange(NSMakeRange(pos, pos)); |
| 1121 } | 1116 } |
| 1122 | 1117 |
| 1123 bool AutocompleteEditViewMac::IsCaretAtEnd() const { | 1118 bool AutocompleteEditViewMac::IsCaretAtEnd() const { |
| 1124 const NSRange selection = GetSelectedRange(); | 1119 const NSRange selection = GetSelectedRange(); |
| 1125 return selection.length == 0 && selection.location == GetTextLength(); | 1120 return selection.length == 0 && selection.location == GetTextLength(); |
| 1126 } | 1121 } |
| OLD | NEW |