| Index: ui/gfx/render_text.cc
|
| diff --git a/ui/gfx/render_text.cc b/ui/gfx/render_text.cc
|
| index add661d64c9d5edc34449ac3b0cf53bc7d102756..4da9880b33ae81ac6005b1a3d7e3db50a4c11fa9 100644
|
| --- a/ui/gfx/render_text.cc
|
| +++ b/ui/gfx/render_text.cc
|
| @@ -398,7 +398,7 @@ RenderText::~RenderText() {
|
| }
|
|
|
| RenderText* RenderText::CreateInstance() {
|
| -#if defined(OS_MACOSX) && !defined(TOOLKIT_VIEWS)
|
| +#if defined(OS_MACOSX)
|
| static const bool use_harfbuzz = CommandLine::ForCurrentProcess()->
|
| HasSwitch(switches::kEnableHarfBuzzRenderText);
|
| #else
|
| @@ -408,6 +408,12 @@ RenderText* RenderText::CreateInstance() {
|
| return use_harfbuzz ? new RenderTextHarfBuzz : CreateNativeInstance();
|
| }
|
|
|
| +RenderText* RenderText::CreateInstanceForEditing() {
|
| + static const bool use_harfbuzz = !CommandLine::ForCurrentProcess()->
|
| + HasSwitch(switches::kDisableHarfBuzzRenderText);
|
| + return use_harfbuzz ? new RenderTextHarfBuzz : CreateNativeInstance();
|
| +}
|
| +
|
| void RenderText::SetText(const base::string16& text) {
|
| DCHECK(!composition_range_.IsValid());
|
| if (text_ == text)
|
| @@ -1233,7 +1239,7 @@ base::string16 RenderText::Elide(const base::string16& text,
|
| return ElideEmail(text, available_width);
|
|
|
| // Create a RenderText copy with attributes that affect the rendering width.
|
| - scoped_ptr<RenderText> render_text(CreateInstance());
|
| + scoped_ptr<RenderText> render_text = CreateInstanceOfSameType();
|
| render_text->SetFontList(font_list_);
|
| render_text->SetDirectionalityMode(directionality_mode_);
|
| render_text->SetCursorEnabled(cursor_enabled_);
|
|
|