Index: chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
diff --git a/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm b/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
index 0b894919340914cccf9cd078b08d1395851d173a..9ed6ebd17dd6f96867958511ded3e16fc799672d 100644 |
--- a/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
+++ b/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
@@ -308,9 +308,13 @@ |
DCHECK(!interpretingKeyEvents_); |
interpretingKeyEvents_ = YES; |
textChangedByKeyEvents_ = NO; |
+ AutocompleteTextFieldObserver* observer = [self observer]; |
+ |
+ if (observer) |
+ observer->OnBeforeChange(); |
+ |
[super interpretKeyEvents:eventArray]; |
- AutocompleteTextFieldObserver* observer = [self observer]; |
if (textChangedByKeyEvents_ && observer) |
observer->OnDidChange(); |
@@ -318,6 +322,19 @@ |
interpretingKeyEvents_ = NO; |
} |
+- (BOOL)shouldChangeTextInRange:(NSRange)affectedCharRange |
+ replacementString:(NSString *)replacementString { |
+ BOOL ret = [super shouldChangeTextInRange:affectedCharRange |
+ replacementString:replacementString]; |
+ |
+ if (ret && !interpretingKeyEvents_) { |
+ AutocompleteTextFieldObserver* observer = [self observer]; |
+ if (observer) |
+ observer->OnBeforeChange(); |
+ } |
+ return ret; |
+} |
+ |
- (void)didChangeText { |
[super didChangeText]; |