Chromium Code Reviews| 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 |
| } |