diff options
author | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-11 05:20:42 +0000 |
---|---|---|
committer | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-11 05:20:42 +0000 |
commit | 3c11b5b02cf32fb578e0854cd6403a9fb31ba119 (patch) | |
tree | 5f03a37f991ef7fee9e159c00bd131bb1b9cc4c0 /chrome/browser/autocomplete/autocomplete_edit_view_mac.mm | |
parent | b905fda80e430081c47243bdf93afaf2fa4dd1fd (diff) | |
download | chromium_src-3c11b5b02cf32fb578e0854cd6403a9fb31ba119.zip chromium_src-3c11b5b02cf32fb578e0854cd6403a9fb31ba119.tar.gz chromium_src-3c11b5b02cf32fb578e0854cd6403a9fb31ba119.tar.bz2 |
Handle FocusSearch() when in forced search mode with leading whitespace.
BUG=29593
TEST=browser_tests --gtest_filter=AutocompleteBrowserTest.FocusSearch
Review URL: http://codereview.chromium.org/3280012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59183 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete/autocomplete_edit_view_mac.mm')
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_edit_view_mac.mm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm index 916cefc..499b031 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm +++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm @@ -348,10 +348,11 @@ void AutocompleteEditViewMac::SetForcedQuery() { FocusLocation(true); const std::wstring current_text(GetText()); - if (current_text.empty() || (current_text[0] != '?')) { + const size_t start = current_text.find_first_not_of(kWhitespaceWide); + if (start == std::wstring::npos || (current_text[start] != '?')) { SetUserText(L"?"); } else { - NSRange range = NSMakeRange(1, current_text.size() - 1); + NSRange range = NSMakeRange(start + 1, current_text.size() - start - 1); [[field_ currentEditor] setSelectedRange:range]; } } @@ -363,6 +364,18 @@ bool AutocompleteEditViewMac::IsSelectAll() { return NSEqualRanges(all_range, GetSelectedRange()); } +void AutocompleteEditViewMac::GetSelectionBounds(std::wstring::size_type* start, + std::wstring::size_type* end) { + if (![field_ currentEditor]) { + *start = *end = 0; + return; + } + + const NSRange selected_range = GetSelectedRange(); + *start = static_cast<size_t>(selected_range.location); + *end = static_cast<size_t>(NSMaxRange(selected_range)); +} + void AutocompleteEditViewMac::SelectAll(bool reversed) { // TODO(shess): Figure out what |reversed| implies. The gtk version // has it imply inverting the selection front to back, but I don't |