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/mac/foundation_util.h" | 9 #include "base/mac/foundation_util.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 popup_view_(OmniboxPopupViewMac::Create(this, model(), field)), | 142 popup_view_(OmniboxPopupViewMac::Create(this, model(), field)), |
143 field_(field), | 143 field_(field), |
144 delete_was_pressed_(false), | 144 delete_was_pressed_(false), |
145 delete_at_end_pressed_(false) { | 145 delete_at_end_pressed_(false) { |
146 [field_ setObserver:this]; | 146 [field_ setObserver:this]; |
147 | 147 |
148 // Needed so that editing doesn't lose the styling. | 148 // Needed so that editing doesn't lose the styling. |
149 [field_ setAllowsEditingTextAttributes:YES]; | 149 [field_ setAllowsEditingTextAttributes:YES]; |
150 | 150 |
151 // Get the appropriate line height for the font that we use. | 151 // Get the appropriate line height for the font that we use. |
152 scoped_nsobject<NSLayoutManager> | 152 base::scoped_nsobject<NSLayoutManager> layoutManager( |
153 layoutManager([[NSLayoutManager alloc] init]); | 153 [[NSLayoutManager alloc] init]); |
154 [layoutManager setUsesScreenFonts:YES]; | 154 [layoutManager setUsesScreenFonts:YES]; |
155 } | 155 } |
156 | 156 |
157 OmniboxViewMac::~OmniboxViewMac() { | 157 OmniboxViewMac::~OmniboxViewMac() { |
158 // Destroy popup view before this object in case it tries to call us | 158 // Destroy popup view before this object in case it tries to call us |
159 // back in the destructor. | 159 // back in the destructor. |
160 popup_view_.reset(); | 160 popup_view_.reset(); |
161 | 161 |
162 // Disconnect from |field_|, it outlives this object. | 162 // Disconnect from |field_|, it outlives this object. |
163 [field_ setObserver:NULL]; | 163 [field_ setObserver:NULL]; |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 [as addAttribute:NSFontAttributeName value:GetFieldFont() | 428 [as addAttribute:NSFontAttributeName value:GetFieldFont() |
429 range:as_entire_string]; | 429 range:as_entire_string]; |
430 | 430 |
431 // A kinda hacky way to add breaking at periods. This is what Safari does. | 431 // A kinda hacky way to add breaking at periods. This is what Safari does. |
432 // This works for IDNs too, despite the "en_US". | 432 // This works for IDNs too, despite the "en_US". |
433 [as addAttribute:@"NSLanguage" value:@"en_US_POSIX" | 433 [as addAttribute:@"NSLanguage" value:@"en_US_POSIX" |
434 range:as_entire_string]; | 434 range:as_entire_string]; |
435 | 435 |
436 // Make a paragraph style locking in the standard line height as the maximum, | 436 // Make a paragraph style locking in the standard line height as the maximum, |
437 // otherwise the baseline may shift "downwards". | 437 // otherwise the baseline may shift "downwards". |
438 scoped_nsobject<NSMutableParagraphStyle> | 438 base::scoped_nsobject<NSMutableParagraphStyle> paragraph_style( |
439 paragraph_style([[NSMutableParagraphStyle alloc] init]); | 439 [[NSMutableParagraphStyle alloc] init]); |
440 CGFloat line_height = [[field_ cell] lineHeight]; | 440 CGFloat line_height = [[field_ cell] lineHeight]; |
441 [paragraph_style setMaximumLineHeight:line_height]; | 441 [paragraph_style setMaximumLineHeight:line_height]; |
442 [paragraph_style setMinimumLineHeight:line_height]; | 442 [paragraph_style setMinimumLineHeight:line_height]; |
443 [as addAttribute:NSParagraphStyleAttributeName value:paragraph_style | 443 [as addAttribute:NSParagraphStyleAttributeName value:paragraph_style |
444 range:as_entire_string]; | 444 range:as_entire_string]; |
445 | 445 |
446 url_parse::Component scheme, host; | 446 url_parse::Component scheme, host; |
447 AutocompleteInput::ParseForEmphasizeComponents( | 447 AutocompleteInput::ParseForEmphasizeComponents( |
448 display_text, &scheme, &host); | 448 display_text, &scheme, &host); |
449 bool grey_out_url = display_text.substr(scheme.begin, scheme.len) == | 449 bool grey_out_url = display_text.substr(scheme.begin, scheme.len) == |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
963 | 963 |
964 NSUInteger OmniboxViewMac::GetTextLength() const { | 964 NSUInteger OmniboxViewMac::GetTextLength() const { |
965 return [field_ currentEditor] ? [[[field_ currentEditor] string] length] : | 965 return [field_ currentEditor] ? [[[field_ currentEditor] string] length] : |
966 [[field_ stringValue] length]; | 966 [[field_ stringValue] length]; |
967 } | 967 } |
968 | 968 |
969 bool OmniboxViewMac::IsCaretAtEnd() const { | 969 bool OmniboxViewMac::IsCaretAtEnd() const { |
970 const NSRange selection = GetSelectedRange(); | 970 const NSRange selection = GetSelectedRange(); |
971 return NSMaxRange(selection) == GetTextLength(); | 971 return NSMaxRange(selection) == GetTextLength(); |
972 } | 972 } |
OLD | NEW |