Index: ui/base/text/text_elider.cc |
diff --git a/ui/base/text/text_elider.cc b/ui/base/text/text_elider.cc |
index 6cd65a9885c045827428b46ff1d4fab1cb3fe0e2..414f66eee2e8f6cff2842b2bcfd2ae9d80a8f395 100644 |
--- a/ui/base/text/text_elider.cc |
+++ b/ui/base/text/text_elider.cc |
@@ -33,6 +33,7 @@ namespace ui { |
// U+2026 in utf8 |
const char kEllipsis[] = "\xE2\x80\xA6"; |
+const char16 kEllipsisUTF16 = 0x2026; |
Alexei Svitkine (slow)
2013/06/28 15:37:02
Consider making it:
const char16 kEllipsisUTF16[]
msw
2013/06/28 16:31:23
Done.
|
const char16 kForwardSlash = '/'; |
namespace { |
@@ -105,8 +106,6 @@ string16 BuildPathFromComponents(const string16& path_prefix, |
const std::vector<string16>& path_elements, |
const string16& filename, |
size_t num_components) { |
- const string16 kEllipsisAndSlash = UTF8ToUTF16(kEllipsis) + kForwardSlash; |
- |
// Add the initial elements of the path. |
string16 path = path_prefix; |
@@ -116,7 +115,7 @@ string16 BuildPathFromComponents(const string16& path_prefix, |
// Add |filename|, ellipsis if necessary. |
if (num_components != (path_elements.size() - 1)) |
- path += kEllipsisAndSlash; |
+ path += UTF8ToUTF16(kEllipsis) + kForwardSlash; |
Alexei Svitkine (slow)
2013/06/28 15:37:02
You can use kEllipisisUTF16 if you change it to a
msw
2013/06/28 16:31:23
I'll pass; I hit test failures trying to change mo
|
path += filename; |
return path; |
@@ -133,8 +132,6 @@ string16 ElideComponentizedPath(const string16& url_path_prefix, |
int available_pixel_width) { |
const size_t url_path_number_of_elements = url_path_elements.size(); |
- const string16 kEllipsisAndSlash = UTF8ToUTF16(kEllipsis) + kForwardSlash; |
- |
CHECK(url_path_number_of_elements); |
for (size_t i = url_path_number_of_elements - 1; i > 0; --i) { |
string16 elided_path = BuildPathFromComponents(url_path_prefix, |
@@ -167,8 +164,6 @@ string16 ElideEmail(const string16& email, |
DCHECK(!username.empty()); |
DCHECK(!domain.empty()); |
- const string16 kEllipsisUTF16 = UTF8ToUTF16(kEllipsis); |
- |
// Subtract the @ symbol from the available width as it is mandatory. |
const string16 kAtSignUTF16 = ASCIIToUTF16("@"); |
available_pixel_width -= font.GetStringWidth(kAtSignUTF16); |
@@ -195,7 +190,7 @@ string16 ElideEmail(const string16& email, |
// Failing to elide the domain such that at least one character remains |
// (other than the ellipsis itself) remains: return a single ellipsis. |
if (domain.length() <= 1U) |
- return kEllipsisUTF16; |
+ return string16(1, kEllipsisUTF16); |
} |
// Fit the username in the remaining width (at this point the elided username |
@@ -367,11 +362,10 @@ string16 ElideUrl(const GURL& url, |
// which means that this case has been resolved earlier. |
string16 url_elided_domain = url_subdomain + url_domain; |
if (pixel_width_url_subdomain > kPixelWidthDotsTrailer) { |
- if (!url_subdomain.empty()) { |
+ if (!url_subdomain.empty()) |
url_elided_domain = kEllipsisAndSlash[0] + url_domain; |
- } else { |
+ else |
url_elided_domain = url_domain; |
- } |
elided_path = ElideComponentizedPath(url_elided_domain, url_path_elements, |
url_filename, url_query, font, |
@@ -455,13 +449,12 @@ string16 ElideText(const string16& text, |
if (text.empty()) |
return text; |
- const string16 kEllipsisUTF16 = UTF8ToUTF16(kEllipsis); |
- |
const int current_text_pixel_width = font.GetStringWidth(text); |
const bool elide_in_middle = (elide_behavior == ELIDE_IN_MIDDLE); |
const bool insert_ellipsis = (elide_behavior != TRUNCATE_AT_END); |
- StringSlicer slicer(text, kEllipsisUTF16, elide_in_middle); |
+ const string16 ellipsis = string16(1, kEllipsisUTF16); |
+ StringSlicer slicer(text, ellipsis, elide_in_middle); |
// Pango will return 0 width for absurdly long strings. Cut the string in |
// half and try again. |
@@ -479,8 +472,7 @@ string16 ElideText(const string16& text, |
if (current_text_pixel_width <= available_pixel_width) |
return text; |
- if (insert_ellipsis && |
- font.GetStringWidth(kEllipsisUTF16) > available_pixel_width) |
+ if (insert_ellipsis && font.GetStringWidth(ellipsis) > available_pixel_width) |
return string16(); |
// Use binary search to compute the elided text. |