| Index: ui/gfx/canvas.cc
|
| diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc
|
| index 831f4fc4bf47e9e23a22de519336c43beb1871f7..31934f493f7ba166f9af3142d8d101a08d51f07d 100644
|
| --- a/ui/gfx/canvas.cc
|
| +++ b/ui/gfx/canvas.cc
|
| @@ -140,14 +140,13 @@ void Canvas::DrawDashedRect(const gfx::Rect& rect, SkColor color) {
|
|
|
| // Make a shader for the bitmap with an origin of the box we'll draw. This
|
| // shader is refcounted and will have an initial refcount of 1.
|
| - SkShader* shader = SkShader::CreateBitmapShader(
|
| + skia::RefPtr<SkShader> shader = SkShader::CreateBitmapShader(
|
| *dots, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);
|
| // Assign the shader to the paint & release our reference. The paint will
|
| // now own the shader and the shader will be destroyed when the paint goes
|
| // out of scope.
|
| SkPaint paint;
|
| - paint.setShader(shader);
|
| - shader->unref();
|
| + paint.setShader(shader.get());
|
|
|
| DrawRect(gfx::Rect(rect.x(), rect.y(), rect.width(), 1), paint);
|
| DrawRect(gfx::Rect(rect.x(), rect.y() + rect.height() - 1, rect.width(), 1),
|
| @@ -373,16 +372,16 @@ void Canvas::DrawImageInt(const gfx::ImageSkia& image,
|
| shader_scale.preTranslate(SkIntToScalar(-src_x), SkIntToScalar(-src_y));
|
| shader_scale.postTranslate(SkIntToScalar(dest_x), SkIntToScalar(dest_y));
|
|
|
| - SkShader* shader = gfx::CreateImageRepShader(image_rep,
|
| - SkShader::kRepeat_TileMode,
|
| - shader_scale);
|
| + skia::RefPtr<SkShader> shader = gfx::CreateImageRepShader(
|
| + image_rep,
|
| + SkShader::kRepeat_TileMode,
|
| + shader_scale);
|
|
|
| // Set up our paint to use the shader & release our reference (now just owned
|
| // by the paint).
|
| SkPaint p(paint);
|
| p.setFilterBitmap(filter);
|
| - p.setShader(shader);
|
| - shader->unref();
|
| + p.setShader(shader.get());
|
|
|
| // The rect will be filled by the bitmap.
|
| canvas_->drawRect(dest_rect, p);
|
| @@ -399,12 +398,13 @@ void Canvas::DrawImageInPath(const gfx::ImageSkia& image,
|
|
|
| SkMatrix matrix;
|
| matrix.setTranslate(SkIntToScalar(x), SkIntToScalar(y));
|
| - SkShader* shader = gfx::CreateImageRepShader(image_rep,
|
| - SkShader::kRepeat_TileMode, matrix);
|
| + skia::RefPtr<SkShader> shader = gfx::CreateImageRepShader(
|
| + image_rep,
|
| + SkShader::kRepeat_TileMode,
|
| + matrix);
|
|
|
| SkPaint p(paint);
|
| - p.setShader(shader);
|
| - shader->unref();
|
| + p.setShader(shader.get());
|
| canvas_->drawPath(path, p);
|
| }
|
|
|
| @@ -465,14 +465,14 @@ void Canvas::TileImageInt(const gfx::ImageSkia& image,
|
| shader_scale.preTranslate(SkIntToScalar(-src_x), SkIntToScalar(-src_y));
|
| shader_scale.postTranslate(SkIntToScalar(dest_x), SkIntToScalar(dest_y));
|
|
|
| - SkShader* shader = gfx::CreateImageRepShader(image_rep,
|
| - SkShader::kRepeat_TileMode,
|
| - shader_scale);
|
| + skia::RefPtr<SkShader> shader = gfx::CreateImageRepShader(
|
| + image_rep,
|
| + SkShader::kRepeat_TileMode,
|
| + shader_scale);
|
|
|
| SkPaint paint;
|
| - paint.setShader(shader);
|
| + paint.setShader(shader.get());
|
| paint.setXfermodeMode(SkXfermode::kSrcOver_Mode);
|
| - shader->unref();
|
|
|
| SkRect dest_rect = { SkIntToScalar(dest_x),
|
| SkIntToScalar(dest_y),
|
|
|