| Index: src/gpu/SkGpuDevice.cpp | 
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp | 
| index 89273be9a3823e419fb19051c1c3ecafa02da799..cd678af880a723992c79cd12a1dabe05ce9da5de 100644 | 
| --- a/src/gpu/SkGpuDevice.cpp | 
| +++ b/src/gpu/SkGpuDevice.cpp | 
| @@ -10,7 +10,6 @@ | 
| #include "GrBlurUtils.h" | 
| #include "GrContext.h" | 
| #include "SkDraw.h" | 
| -#include "GrDrawContext.h" | 
| #include "GrGpu.h" | 
| #include "GrGpuResourcePriv.h" | 
| #include "GrImageIDTextureAdjuster.h" | 
| @@ -171,13 +170,11 @@ SkGpuDevice* SkGpuDevice::Create(GrContext* context, SkSurface::Budgeted budgete | 
| SkGpuDevice::SkGpuDevice(GrRenderTarget* rt, int width, int height, | 
| const SkSurfaceProps* props, unsigned flags) | 
| : INHERITED(SkSurfacePropsCopyOrDefault(props)) | 
| -{ | 
| -    fContext = SkRef(rt->getContext()); | 
| +    , fContext(SkRef(rt->getContext())) | 
| +    , fRenderTarget(SkRef(rt)) { | 
| fNeedClear = SkToBool(flags & kNeedClear_Flag); | 
| fOpaque = SkToBool(flags & kIsOpaque_Flag); | 
|  | 
| -    fRenderTarget = SkRef(rt); | 
| - | 
| SkAlphaType at = fOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType; | 
| SkImageInfo info = rt->surfacePriv().info(at).makeWH(width, height); | 
| SkPixelRef* pr = new SkGrPixelRef(info, rt); | 
| @@ -226,11 +223,6 @@ GrRenderTarget* SkGpuDevice::CreateRenderTarget(GrContext* context, SkSurface::B | 
| return texture->asRenderTarget(); | 
| } | 
|  | 
| -SkGpuDevice::~SkGpuDevice() { | 
| -    fRenderTarget->unref(); | 
| -    fContext->unref(); | 
| -} | 
| - | 
| /////////////////////////////////////////////////////////////////////////////// | 
|  | 
| bool SkGpuDevice::onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes, | 
| @@ -346,8 +338,7 @@ void SkGpuDevice::replaceRenderTarget(bool shouldRetainContent) { | 
|  | 
| SkASSERT(fRenderTarget != newRT); | 
|  | 
| -    fRenderTarget->unref(); | 
| -    fRenderTarget = newRT.detach(); | 
| +    fRenderTarget.reset(newRT.detach()); | 
|  | 
| #ifdef SK_DEBUG | 
| SkImageInfo info = fRenderTarget->surfacePriv().info(fOpaque ? kOpaque_SkAlphaType : | 
|  |