Make GrDrawContext be GrRenderTargetProxy-backed

This is split out of https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3841

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-GN_Android-Trybot

Change-Id: I1a47f19ed1ac0c249e6ccac8db74095d7f456db4
Reviewed-on: https://skia-review.googlesource.com/3841
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrSurfaceProxy.cpp b/src/gpu/GrSurfaceProxy.cpp
index 9cd84ed..094eaa3 100644
--- a/src/gpu/GrSurfaceProxy.cpp
+++ b/src/gpu/GrSurfaceProxy.cpp
@@ -7,8 +7,18 @@
 
 #include "GrSurfaceProxy.h"
 
+#include "GrGpuResourcePriv.h"
 #include "GrOpList.h"
 
+GrSurfaceProxy::GrSurfaceProxy(sk_sp<GrSurface> surface, SkBackingFit fit)
+    : INHERITED(std::move(surface))
+    , fDesc(fTarget->desc())
+    , fFit(fit)
+    , fBudgeted(fTarget->resourcePriv().isBudgeted())
+    , fUniqueID(fTarget->uniqueID())
+    , fLastOpList(nullptr) {
+}
+
 GrSurfaceProxy::~GrSurfaceProxy() {
     if (fLastOpList) {
         fLastOpList->clearTarget();