| Index: ui/gfx/render_text_harfbuzz.cc
|
| diff --git a/ui/gfx/render_text_harfbuzz.cc b/ui/gfx/render_text_harfbuzz.cc
|
| index 731cc6f24051c2a15b6b6cc31888a03fe38387fa..39f00409700ab1cabd97b6a76e9bbd569bc78e9a 100644
|
| --- a/ui/gfx/render_text_harfbuzz.cc
|
| +++ b/ui/gfx/render_text_harfbuzz.cc
|
| @@ -567,6 +567,16 @@ struct CaseInsensitiveCompare {
|
|
|
| namespace internal {
|
|
|
| +#if !defined(OS_MACOSX)
|
| +sk_sp<SkTypeface> CreateSkiaTypeface(const gfx::Font& font, int style) {
|
| + int skia_style = SkTypeface::kNormal;
|
| + skia_style |= (style & Font::BOLD) ? SkTypeface::kBold : 0;
|
| + skia_style |= (style & Font::ITALIC) ? SkTypeface::kItalic : 0;
|
| + return sk_sp<SkTypeface>(SkTypeface::CreateFromName(
|
| + font.GetFontName().c_str(), static_cast<SkTypeface::Style>(skia_style)));
|
| +}
|
| +#endif
|
| +
|
| TextRunHarfBuzz::TextRunHarfBuzz()
|
| : width(0.0f),
|
| preceding_run_widths(0.0f),
|
| @@ -1457,10 +1467,11 @@ bool RenderTextHarfBuzz::ShapeRunWithFont(const base::string16& text,
|
| const gfx::Font& font,
|
| const FontRenderParams& params,
|
| internal::TextRunHarfBuzz* run) {
|
| - skia::RefPtr<SkTypeface> skia_face =
|
| - internal::CreateSkiaTypeface(font, run->font_style);
|
| - if (skia_face == NULL)
|
| + sk_sp<SkTypeface> skia_face(
|
| + internal::CreateSkiaTypeface(font, run->font_style));
|
| + if (!skia_face)
|
| return false;
|
| +
|
| run->skia_face = skia_face;
|
| run->font = font;
|
| run->render_params = params;
|
|
|