OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/location_bar_util.h" | |
6 | |
7 #include "app/l10n_util.h" | |
8 #include "base/i18n/rtl.h" | |
9 #include "chrome/browser/profile.h" | |
10 #include "chrome/browser/search_engines/template_url.h" | |
11 #include "chrome/browser/search_engines/template_url_model.h" | |
12 | |
13 namespace location_bar_util { | |
14 | |
15 std::wstring GetKeywordName(Profile* profile, const std::wstring& keyword) { | |
16 // Make sure the TemplateURL still exists. | |
17 // TODO(sky): Once LocationBarView adds a listener to the TemplateURLModel | |
18 // to track changes to the model, this should become a DCHECK. | |
19 const TemplateURL* template_url = | |
20 profile->GetTemplateURLModel()->GetTemplateURLForKeyword(keyword); | |
21 if (template_url) | |
22 return template_url->AdjustedShortNameForLocaleDirection(); | |
23 return std::wstring(); | |
24 } | |
25 | |
26 std::wstring CalculateMinString(const std::wstring& description) { | |
27 // Chop at the first '.' or whitespace. | |
28 const size_t dot_index = description.find(L'.'); | |
29 const size_t ws_index = description.find_first_of(kWhitespaceWide); | |
30 size_t chop_index = std::min(dot_index, ws_index); | |
31 std::wstring min_string; | |
32 if (chop_index == std::wstring::npos) { | |
33 // No dot or whitespace, truncate to at most 3 chars. | |
34 min_string = l10n_util::TruncateString(description, 3); | |
35 } else { | |
36 min_string = description.substr(0, chop_index); | |
37 } | |
38 base::i18n::AdjustStringForLocaleDirection(&min_string); | |
39 return min_string; | |
40 } | |
41 | |
42 } // namespace location_bar_util | |
OLD | NEW |