Index: ui/gfx/render_text.cc |
diff --git a/ui/gfx/render_text.cc b/ui/gfx/render_text.cc |
index 2cedd9d5a21755d094e38d10c9b6575e265d908c..a724f8613e49ea4b0c6ed8b86d53f1941e2e06b9 100644 |
--- a/ui/gfx/render_text.cc |
+++ b/ui/gfx/render_text.cc |
@@ -143,10 +143,10 @@ void AddFadeEffect(const gfx::Rect& text_rect, |
// Creates a SkShader to fade the text, with |left_part| specifying the left |
// fade effect, if any, and |right_part| specifying the right fade effect. |
-SkShader* CreateFadeShader(const gfx::Rect& text_rect, |
- const gfx::Rect& left_part, |
- const gfx::Rect& right_part, |
- SkColor color) { |
+skia::RefPtr<SkShader> CreateFadeShader(const gfx::Rect& text_rect, |
+ const gfx::Rect& left_part, |
+ const gfx::Rect& right_part, |
+ SkColor color) { |
// Fade alpha of 51/255 corresponds to a fade of 0.2 of the original color. |
const SkColor fade_color = SkColorSetA(color, 51); |
std::vector<SkScalar> positions; |
@@ -170,8 +170,9 @@ SkShader* CreateFadeShader(const gfx::Rect& text_rect, |
points[0].iset(text_rect.x(), text_rect.y()); |
points[1].iset(text_rect.right(), text_rect.y()); |
- return SkGradientShader::CreateLinear(&points[0], &colors[0], &positions[0], |
- colors.size(), SkShader::kClamp_TileMode); |
+ return skia::AdoptRef( |
+ SkGradientShader::CreateLinear(&points[0], &colors[0], &positions[0], |
+ colors.size(), SkShader::kClamp_TileMode)); |
} |
} // namespace |
@@ -237,11 +238,11 @@ void SkiaTextRenderer::SetFontFamilyWithStyle(const std::string& family, |
DCHECK(!family.empty()); |
SkTypeface::Style skia_style = ConvertFontStyleToSkiaTypefaceStyle(style); |
- SkTypeface* typeface = SkTypeface::CreateFromName(family.c_str(), skia_style); |
- SkAutoUnref auto_unref(typeface); |
+ skia::RefPtr<SkTypeface> typeface = |
+ skia::AdoptRef(SkTypeface::CreateFromName(family.c_str(), skia_style)); |
if (typeface) { |
// |paint_| adds its own ref. So don't |release()| it from the ref ptr here. |
- SetTypeface(typeface); |
+ SetTypeface(typeface.get()); |
// Enable fake bold text if bold style is needed but new typeface does not |
// have it. |
@@ -916,18 +917,16 @@ void RenderText::ApplyFadeEffects(internal::SkiaTextRenderer* renderer) { |
text_rect.Inset(GetAlignmentOffset().x(), 0, 0, 0); |
const SkColor color = default_style().foreground; |
- SkShader* shader = CreateFadeShader(text_rect, left_part, right_part, color); |
- SkAutoUnref auto_unref(shader); |
- if (shader) { |
- // |renderer| adds its own ref. So don't |release()| it from the ref ptr. |
- renderer->SetShader(shader, display_rect()); |
- } |
+ skia::RefPtr<SkShader> shader = |
+ CreateFadeShader(text_rect, left_part, right_part, color); |
+ if (shader) |
+ renderer->SetShader(shader.get(), display_rect()); |
} |
void RenderText::ApplyTextShadows(internal::SkiaTextRenderer* renderer) { |
- SkDrawLooper* looper = gfx::CreateShadowDrawLooper(text_shadows_); |
- SkAutoUnref auto_unref(looper); |
- renderer->SetDrawLooper(looper); |
+ skia::RefPtr<SkDrawLooper> looper = |
+ gfx::CreateShadowDrawLooper(text_shadows_); |
+ renderer->SetDrawLooper(looper.get()); |
} |
// static |