| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/cocoa/omnibox/omnibox_view_mac.h" | 5 #include "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" |
| 6 | 6 |
| 7 #include <Carbon/Carbon.h> // kVK_Return | 7 #include <Carbon/Carbon.h> // kVK_Return |
| 8 | 8 |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/sys_string_conversions.h" | 10 #include "base/sys_string_conversions.h" |
| (...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 suggest_text_length_ = 0; | 517 suggest_text_length_ = 0; |
| 518 SetWindowTextAndCaretPos(display_text, display_text.size(), false, false); | 518 SetWindowTextAndCaretPos(display_text, display_text.size(), false, false); |
| 519 model()->OnChanged(); | 519 model()->OnChanged(); |
| 520 [field_ clearUndoChain]; | 520 [field_ clearUndoChain]; |
| 521 } | 521 } |
| 522 | 522 |
| 523 void OmniboxViewMac::OnStartingIME() { | 523 void OmniboxViewMac::OnStartingIME() { |
| 524 // Reset the suggest text just before starting an IME composition session, | 524 // Reset the suggest text just before starting an IME composition session, |
| 525 // otherwise the IME composition may be interrupted when the suggest text | 525 // otherwise the IME composition may be interrupted when the suggest text |
| 526 // gets reset by the IME composition change. | 526 // gets reset by the IME composition change. |
| 527 SetInstantSuggestion(string16(), false); | 527 SetInstantSuggestion(string16()); |
| 528 } | 528 } |
| 529 | 529 |
| 530 bool OmniboxViewMac::OnInlineAutocompleteTextMaybeChanged( | 530 bool OmniboxViewMac::OnInlineAutocompleteTextMaybeChanged( |
| 531 const string16& display_text, | 531 const string16& display_text, |
| 532 size_t user_text_length) { | 532 size_t user_text_length) { |
| 533 // TODO(shess): Make sure that this actually works. The round trip | 533 // TODO(shess): Make sure that this actually works. The round trip |
| 534 // to native form and back may mean that it's the same but not the | 534 // to native form and back may mean that it's the same but not the |
| 535 // same. | 535 // same. |
| 536 if (display_text == GetText()) | 536 if (display_text == GetText()) |
| 537 return false; | 537 return false; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 gfx::NativeView OmniboxViewMac::GetNativeView() const { | 617 gfx::NativeView OmniboxViewMac::GetNativeView() const { |
| 618 return field_; | 618 return field_; |
| 619 } | 619 } |
| 620 | 620 |
| 621 gfx::NativeView OmniboxViewMac::GetRelativeWindowForPopup() const { | 621 gfx::NativeView OmniboxViewMac::GetRelativeWindowForPopup() const { |
| 622 // Not used on mac. | 622 // Not used on mac. |
| 623 NOTREACHED(); | 623 NOTREACHED(); |
| 624 return NULL; | 624 return NULL; |
| 625 } | 625 } |
| 626 | 626 |
| 627 void OmniboxViewMac::SetInstantSuggestion(const string16& suggest_text, | 627 void OmniboxViewMac::SetInstantSuggestion(const string16& suggest_text) { |
| 628 bool animate_to_complete) { | |
| 629 NSString* text = GetNonSuggestTextSubstring(); | 628 NSString* text = GetNonSuggestTextSubstring(); |
| 630 bool needs_update = (suggest_text_length_ > 0); | 629 bool needs_update = (suggest_text_length_ > 0); |
| 631 | 630 |
| 632 // Append the new suggest text. | 631 // Append the new suggest text. |
| 633 suggest_text_length_ = suggest_text.length(); | 632 suggest_text_length_ = suggest_text.length(); |
| 634 if (suggest_text_length_ > 0) { | 633 if (suggest_text_length_ > 0) { |
| 635 text = [text stringByAppendingString:base::SysUTF16ToNSString( | 634 text = [text stringByAppendingString:base::SysUTF16ToNSString( |
| 636 suggest_text)]; | 635 suggest_text)]; |
| 637 needs_update = true; | 636 needs_update = true; |
| 638 } | 637 } |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 684 bool OmniboxViewMac::OnDoCommandBySelector(SEL cmd) { | 683 bool OmniboxViewMac::OnDoCommandBySelector(SEL cmd) { |
| 685 // We should only arrive here when the field is focussed. | 684 // We should only arrive here when the field is focussed. |
| 686 DCHECK(IsFirstResponder()); | 685 DCHECK(IsFirstResponder()); |
| 687 | 686 |
| 688 if (cmd != @selector(moveRight:) && | 687 if (cmd != @selector(moveRight:) && |
| 689 cmd != @selector(insertTab:) && | 688 cmd != @selector(insertTab:) && |
| 690 cmd != @selector(insertTabIgnoringFieldEditor:)) { | 689 cmd != @selector(insertTabIgnoringFieldEditor:)) { |
| 691 // Reset the suggest text for any change other than key right or tab. | 690 // Reset the suggest text for any change other than key right or tab. |
| 692 // TODO(rohitrao): This is here to prevent complications when editing text. | 691 // TODO(rohitrao): This is here to prevent complications when editing text. |
| 693 // See if this can be removed. | 692 // See if this can be removed. |
| 694 SetInstantSuggestion(string16(), false); | 693 SetInstantSuggestion(string16()); |
| 695 } | 694 } |
| 696 | 695 |
| 697 if (cmd == @selector(deleteForward:)) | 696 if (cmd == @selector(deleteForward:)) |
| 698 delete_was_pressed_ = true; | 697 delete_was_pressed_ = true; |
| 699 | 698 |
| 700 // Don't intercept up/down-arrow or backtab if the popup isn't open. | 699 // Don't intercept up/down-arrow or backtab if the popup isn't open. |
| 701 if (popup_view_->IsOpen()) { | 700 if (popup_view_->IsOpen()) { |
| 702 if (cmd == @selector(moveDown:)) { | 701 if (cmd == @selector(moveDown:)) { |
| 703 model()->OnUpOrDownKeyPressed(1); | 702 model()->OnUpOrDownKeyPressed(1); |
| 704 return true; | 703 return true; |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 NSUInteger OmniboxViewMac::GetTextLength() const { | 1006 NSUInteger OmniboxViewMac::GetTextLength() const { |
| 1008 return ([field_ currentEditor] ? | 1007 return ([field_ currentEditor] ? |
| 1009 [[[field_ currentEditor] string] length] : | 1008 [[[field_ currentEditor] string] length] : |
| 1010 [[field_ stringValue] length]) - suggest_text_length_; | 1009 [[field_ stringValue] length]) - suggest_text_length_; |
| 1011 } | 1010 } |
| 1012 | 1011 |
| 1013 bool OmniboxViewMac::IsCaretAtEnd() const { | 1012 bool OmniboxViewMac::IsCaretAtEnd() const { |
| 1014 const NSRange selection = GetSelectedRange(); | 1013 const NSRange selection = GetSelectedRange(); |
| 1015 return selection.length == 0 && selection.location == GetTextLength(); | 1014 return selection.length == 0 && selection.location == GetTextLength(); |
| 1016 } | 1015 } |
| OLD | NEW |