Index: ui/gfx/text_elider.cc |
diff --git a/ui/gfx/text_elider.cc b/ui/gfx/text_elider.cc |
index 654b1aac4b699e812df5ecfb3d88c87d85bec5b8..2c3acbd8a1d9e911787a87c1ee5c3e4d92bbd6bc 100644 |
--- a/ui/gfx/text_elider.cc |
+++ b/ui/gfx/text_elider.cc |
@@ -39,7 +39,7 @@ namespace gfx { |
namespace { |
-#if defined(OS_ANDROID) || defined(OS_IOS) |
+#if defined(OS_ANDROID) && !defined(USE_AURA) || defined(OS_IOS) |
// The returned string will have at least one character besides the ellipsis |
// on either side of '@'; if that's impossible, a single ellipsis is returned. |
// If possible, only the username is elided. Otherwise, the domain is elided |
@@ -194,21 +194,7 @@ base::string16 ElideText(const base::string16& text, |
const FontList& font_list, |
float available_pixel_width, |
ElideBehavior behavior) { |
-#if !defined(OS_ANDROID) && !defined(OS_IOS) |
- DCHECK_NE(behavior, FADE_TAIL); |
- scoped_ptr<RenderText> render_text(RenderText::CreateInstance()); |
- render_text->SetCursorEnabled(false); |
- // Do not bother accurately sizing strings over 5000 characters here, for |
- // performance purposes. This matches the behavior of Canvas::SizeStringFloat. |
- render_text->set_truncate_length(5000); |
- render_text->SetFontList(font_list); |
- available_pixel_width = std::ceil(available_pixel_width); |
- render_text->SetDisplayRect( |
- gfx::ToEnclosingRect(gfx::RectF(gfx::SizeF(available_pixel_width, 1)))); |
- render_text->SetElideBehavior(behavior); |
- render_text->SetText(text); |
- return render_text->GetDisplayText(); |
-#else |
+#if defined(OS_ANDROID) && !defined(USE_AURA) || defined(OS_IOS) |
DCHECK_NE(behavior, FADE_TAIL); |
if (text.empty() || behavior == FADE_TAIL || behavior == NO_ELIDE || |
GetStringWidthF(text, font_list) <= available_pixel_width) { |
@@ -252,6 +238,20 @@ base::string16 ElideText(const base::string16& text, |
} |
return cut; |
+#else |
+ DCHECK_NE(behavior, FADE_TAIL); |
+ scoped_ptr<RenderText> render_text(RenderText::CreateInstance()); |
+ render_text->SetCursorEnabled(false); |
+ // Do not bother accurately sizing strings over 5000 characters here, for |
+ // performance purposes. This matches the behavior of Canvas::SizeStringFloat. |
+ render_text->set_truncate_length(5000); |
palmer
2015/11/04 00:46:07
Is there some kMaxSomethingSomething that this cod
bshe
2015/11/04 14:38:39
It looks like they are already out of sync.
I can
msw
2015/11/04 19:16:11
Well, that's the updated layout limit for RenderTe
bshe
2015/11/04 22:38:21
A follow-up CL makes sense. I have created crbug.c
|
+ render_text->SetFontList(font_list); |
+ available_pixel_width = std::ceil(available_pixel_width); |
+ render_text->SetDisplayRect( |
+ gfx::ToEnclosingRect(gfx::RectF(gfx::SizeF(available_pixel_width, 1)))); |
+ render_text->SetElideBehavior(behavior); |
+ render_text->SetText(text); |
+ return render_text->GetDisplayText(); |
#endif |
} |