| Index: chrome/browser/cocoa/autocomplete_text_field_editor.mm
|
| diff --git a/chrome/browser/cocoa/autocomplete_text_field_editor.mm b/chrome/browser/cocoa/autocomplete_text_field_editor.mm
|
| index 5bcacff42e9dc125bf6c9cf6865f2ae39e7cbee2..6516e4bfd320e32a7e81734f1d0eb1cd1cab8b7f 100644
|
| --- a/chrome/browser/cocoa/autocomplete_text_field_editor.mm
|
| +++ b/chrome/browser/cocoa/autocomplete_text_field_editor.mm
|
| @@ -7,6 +7,8 @@
|
| #include "app/l10n_util_mac.h"
|
| #include "base/string_util.h"
|
| #include "grit/generated_resources.h"
|
| +#include "base/sys_string_conversions.h"
|
| +#import "chrome/browser/cocoa/autocomplete_text_field.h"
|
|
|
| @implementation AutocompleteTextFieldEditor
|
|
|
| @@ -31,18 +33,25 @@
|
| [self delete:nil];
|
| }
|
|
|
| -- (BOOL)shouldPaste {
|
| - id delegate = [self delegate];
|
| - if (![delegate respondsToSelector:@selector(textShouldPaste:)] ||
|
| - [delegate textShouldPaste:self]) {
|
| - return YES;
|
| - }
|
| - return NO;
|
| +// This class assumes that the delegate is an AutocompleteTextField.
|
| +// Enforce that assumption.
|
| +- (void)setDelegate:(id)anObject {
|
| + DCHECK(anObject == nil ||
|
| + [anObject isKindOfClass:[AutocompleteTextField class]]);
|
| + [super setDelegate:anObject];
|
| +}
|
| +
|
| +// Convenience method for retrieving the observer from the delegate.
|
| +- (AutocompleteTextFieldObserver*)observer {
|
| + DCHECK([[self delegate] isKindOfClass:[AutocompleteTextField class]]);
|
| + return [static_cast<AutocompleteTextField*>([self delegate]) observer];
|
| }
|
|
|
| - (void)paste:(id)sender {
|
| - if ([self shouldPaste]) {
|
| - [super paste:sender];
|
| + AutocompleteTextFieldObserver* observer = [self observer];
|
| + DCHECK(observer);
|
| + if (observer) {
|
| + observer->OnPaste();
|
| }
|
| }
|
|
|
|
|