Index: cc/render_surface_filters.cc |
diff --git a/cc/render_surface_filters.cc b/cc/render_surface_filters.cc |
index 4b9a49d934e26023a8283f6d7ae0104611151a11..9fdf7274a732ff8761e45bc6d9507a87f70f9a5a 100644 |
--- a/cc/render_surface_filters.cc |
+++ b/cc/render_surface_filters.cc |
@@ -5,6 +5,7 @@ |
#include "cc/render_surface_filters.h" |
#include "base/logging.h" |
+#include "skia/ext/refptr.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
#include "third_party/skia/include/effects/SkBlurImageFilter.h" |
#include "third_party/skia/include/effects/SkColorMatrixFilter.h" |
@@ -246,10 +247,11 @@ public: |
platformTextureDescription.fHeight = size.height(); |
platformTextureDescription.fConfig = kSkia8888_GrPixelConfig; |
platformTextureDescription.fTextureHandle = textureId; |
- SkAutoTUnref<GrTexture> texture(grContext->createPlatformTexture(platformTextureDescription)); |
+ skia::RefPtr<GrTexture> texture = skia::AdoptRef(grContext->createPlatformTexture(platformTextureDescription)); |
// Place the platform texture inside an SkBitmap. |
m_source.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height()); |
- m_source.setPixelRef(new SkGrPixelRef(texture.get()))->unref(); |
+ skia::RefPtr<SkGrPixelRef> pixelRef = skia::AdoptRef(new SkGrPixelRef(texture.get())); |
+ m_source.setPixelRef(pixelRef.get()); |
} |
~FilterBufferState() { } |
@@ -265,8 +267,8 @@ public: |
desc.fConfig = kSkia8888_GrPixelConfig; |
for (int i = 0; i < scratchCount; ++i) { |
GrAutoScratchTexture scratchTexture(m_grContext, desc, GrContext::kExact_ScratchTexMatch); |
- m_scratchTextures[i].reset(scratchTexture.detach()); |
- if (!m_scratchTextures[i].get()) |
+ m_scratchTextures[i] = skia::AdoptRef(scratchTexture.detach()); |
+ if (!m_scratchTextures[i]) |
return false; |
} |
return true; |
@@ -284,10 +286,11 @@ public: |
void swap() |
{ |
m_canvas->flush(); |
- m_canvas.reset(0); |
- m_device.reset(0); |
+ m_canvas.clear(); |
+ m_device.clear(); |
- m_source.setPixelRef(new SkGrPixelRef(m_scratchTextures[m_currentTexture].get()))->unref(); |
+ skia::RefPtr<SkGrPixelRef> pixelRef = skia::AdoptRef(new SkGrPixelRef(m_scratchTextures[m_currentTexture].get())); |
+ m_source.setPixelRef(pixelRef.get()); |
m_currentTexture = 1 - m_currentTexture; |
} |
@@ -295,17 +298,17 @@ private: |
void createCanvas() |
{ |
DCHECK(m_scratchTextures[m_currentTexture].get()); |
- m_device.reset(new SkGpuDevice(m_grContext, m_scratchTextures[m_currentTexture].get())); |
- m_canvas.reset(new SkCanvas(m_device.get())); |
+ m_device = skia::AdoptRef(new SkGpuDevice(m_grContext, m_scratchTextures[m_currentTexture].get())); |
+ m_canvas = skia::AdoptRef(new SkCanvas(m_device.get())); |
m_canvas->clear(0x0); |
} |
GrContext* m_grContext; |
SkBitmap m_source; |
- SkAutoTUnref<GrTexture> m_scratchTextures[2]; |
+ skia::RefPtr<GrTexture> m_scratchTextures[2]; |
int m_currentTexture; |
- SkAutoTUnref<SkGpuDevice> m_device; |
- SkAutoTUnref<SkCanvas> m_canvas; |
+ skia::RefPtr<SkGpuDevice> m_device; |
+ skia::RefPtr<SkCanvas> m_canvas; |
}; |
} // namespace |
@@ -381,21 +384,22 @@ SkBitmap RenderSurfaceFilters::apply(const WebKit::WebFilterOperations& filters, |
switch (op.type()) { |
case WebKit::WebFilterOperation::FilterTypeColorMatrix: { |
SkPaint paint; |
- paint.setColorFilter(new SkColorMatrixFilter(op.matrix()))->unref(); |
+ skia::RefPtr<SkColorMatrixFilter> filter = skia::AdoptRef(new SkColorMatrixFilter(op.matrix())); |
+ paint.setColorFilter(filter.get()); |
canvas->drawBitmap(state.source(), 0, 0, &paint); |
break; |
} |
case WebKit::WebFilterOperation::FilterTypeBlur: { |
float stdDeviation = op.amount(); |
- SkAutoTUnref<SkImageFilter> filter(new SkBlurImageFilter(stdDeviation, stdDeviation)); |
+ skia::RefPtr<SkImageFilter> filter = skia::AdoptRef(new SkBlurImageFilter(stdDeviation, stdDeviation)); |
SkPaint paint; |
paint.setImageFilter(filter.get()); |
canvas->drawSprite(state.source(), 0, 0, &paint); |
break; |
} |
case WebKit::WebFilterOperation::FilterTypeDropShadow: { |
- SkAutoTUnref<SkImageFilter> blurFilter(new SkBlurImageFilter(op.amount(), op.amount())); |
- SkAutoTUnref<SkColorFilter> colorFilter(SkColorFilter::CreateModeFilter(op.dropShadowColor(), SkXfermode::kSrcIn_Mode)); |
+ skia::RefPtr<SkImageFilter> blurFilter = skia::AdoptRef(new SkBlurImageFilter(op.amount(), op.amount())); |
+ skia::RefPtr<SkColorFilter> colorFilter = skia::AdoptRef(SkColorFilter::CreateModeFilter(op.dropShadowColor(), SkXfermode::kSrcIn_Mode)); |
SkPaint paint; |
paint.setImageFilter(blurFilter.get()); |
paint.setColorFilter(colorFilter.get()); |
@@ -408,7 +412,7 @@ SkBitmap RenderSurfaceFilters::apply(const WebKit::WebFilterOperations& filters, |
} |
case WebKit::WebFilterOperation::FilterTypeZoom: { |
SkPaint paint; |
- SkAutoTUnref<SkImageFilter> zoomFilter( |
+ skia::RefPtr<SkImageFilter> zoomFilter = skia::AdoptRef( |
new SkMagnifierImageFilter( |
SkRect::MakeXYWH(op.zoomRect().x, |
op.zoomRect().y, |