| Index: ui/gfx/skia_util.cc
|
| diff --git a/ui/gfx/skia_util.cc b/ui/gfx/skia_util.cc
|
| index caa35e78c408046eca3effeed56276db17cfd341..162a5ba6bf25f35af7ae53da4c83b92f8e22efc0 100644
|
| --- a/ui/gfx/skia_util.cc
|
| +++ b/ui/gfx/skia_util.cc
|
| @@ -47,11 +47,11 @@ RectF SkRectToRectF(const SkRect& rect) {
|
| }
|
|
|
|
|
| -SkShader* CreateImageRepShader(const gfx::ImageSkiaRep& image_rep,
|
| - SkShader::TileMode tile_mode,
|
| - const SkMatrix& local_matrix) {
|
| - SkShader* shader = SkShader::CreateBitmapShader(image_rep.sk_bitmap(),
|
| - tile_mode, tile_mode);
|
| +skia::RefPtr<SkShader> CreateImageRepShader(const gfx::ImageSkiaRep& image_rep,
|
| + SkShader::TileMode tile_mode,
|
| + const SkMatrix& local_matrix) {
|
| + skia::RefPtr<SkShader> shader = skia::AdoptRef(SkShader::CreateBitmapShader(
|
| + image_rep.sk_bitmap(), tile_mode, tile_mode));
|
| SkScalar scale_x = local_matrix.getScaleX();
|
| SkScalar scale_y = local_matrix.getScaleY();
|
| SkScalar bitmap_scale = SkFloatToScalar(image_rep.GetScale());
|
| @@ -72,24 +72,26 @@ SkShader* CreateImageRepShader(const gfx::ImageSkiaRep& image_rep,
|
| return shader;
|
| }
|
|
|
| -SkShader* CreateGradientShader(int start_point,
|
| - int end_point,
|
| - SkColor start_color,
|
| - SkColor end_color) {
|
| +skia::RefPtr<SkShader> CreateGradientShader(int start_point,
|
| + int end_point,
|
| + SkColor start_color,
|
| + SkColor end_color) {
|
| SkColor grad_colors[2] = { start_color, end_color};
|
| SkPoint grad_points[2];
|
| grad_points[0].iset(0, start_point);
|
| grad_points[1].iset(0, end_point);
|
|
|
| - return SkGradientShader::CreateLinear(
|
| - grad_points, grad_colors, NULL, 2, SkShader::kRepeat_TileMode);
|
| + return skia::AdoptRef(SkGradientShader::CreateLinear(
|
| + grad_points, grad_colors, NULL, 2, SkShader::kRepeat_TileMode));
|
| }
|
|
|
| -SkDrawLooper* CreateShadowDrawLooper(const std::vector<ShadowValue>& shadows) {
|
| +skia::RefPtr<SkDrawLooper> CreateShadowDrawLooper(
|
| + const std::vector<ShadowValue>& shadows) {
|
| if (shadows.empty())
|
| - return NULL;
|
| + return skia::RefPtr<SkDrawLooper>();
|
|
|
| - SkLayerDrawLooper* looper = new SkLayerDrawLooper;
|
| + skia::RefPtr<SkLayerDrawLooper> looper =
|
| + skia::AdoptRef(new SkLayerDrawLooper);
|
|
|
| looper->addLayer(); // top layer of the original.
|
|
|
| @@ -106,17 +108,17 @@ SkDrawLooper* CreateShadowDrawLooper(const std::vector<ShadowValue>& shadows) {
|
|
|
| // SkBlurMaskFilter's blur radius defines the range to extend the blur from
|
| // original mask, which is half of blur amount as defined in ShadowValue.
|
| - SkMaskFilter* blur_mask = SkBlurMaskFilter::Create(
|
| - SkDoubleToScalar(shadow.blur() / 2),
|
| - SkBlurMaskFilter::kNormal_BlurStyle,
|
| - SkBlurMaskFilter::kHighQuality_BlurFlag);
|
| - SkColorFilter* color_filter = SkColorFilter::CreateModeFilter(
|
| - shadow.color(),
|
| - SkXfermode::kSrcIn_Mode);
|
| + skia::RefPtr<SkMaskFilter> blur_mask = skia::AdoptRef(
|
| + SkBlurMaskFilter::Create(SkDoubleToScalar(shadow.blur() / 2),
|
| + SkBlurMaskFilter::kNormal_BlurStyle,
|
| + SkBlurMaskFilter::kHighQuality_BlurFlag));
|
| + skia::RefPtr<SkColorFilter> color_filter = skia::AdoptRef(
|
| + SkColorFilter::CreateModeFilter(shadow.color(),
|
| + SkXfermode::kSrcIn_Mode));
|
|
|
| SkPaint* paint = looper->addLayer(layer_info);
|
| - SkSafeUnref(paint->setMaskFilter(blur_mask));
|
| - SkSafeUnref(paint->setColorFilter(color_filter));
|
| + paint->setMaskFilter(blur_mask.get());
|
| + paint->setColorFilter(color_filter.get());
|
| }
|
|
|
| return looper;
|
|
|