Add Make[backend] calls for creating GrContexts

Docs-Preview: https://skia.org/?cl=26369
Bug: skia:
Change-Id: I460ee63e466f85b05918479f068a2e5ca2d70550
Reviewed-on: https://skia-review.googlesource.com/26369
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tools/viewer/sk_app/GLWindowContext.cpp b/tools/viewer/sk_app/GLWindowContext.cpp
index 2f0d5dc..682fcbf 100644
--- a/tools/viewer/sk_app/GLWindowContext.cpp
+++ b/tools/viewer/sk_app/GLWindowContext.cpp
@@ -31,11 +31,10 @@
 
 void GLWindowContext::initializeContext() {
     this->onInitializeContext();
-    SkASSERT(nullptr == fContext);
+    SkASSERT(!fContext);
 
     fBackendContext.reset(GrGLCreateNativeInterface());
-    fContext = GrContext::Create(kOpenGL_GrBackend, (GrBackendContext)fBackendContext.get(),
-                                 fDisplayParams.fGrContextOptions);
+    fContext = GrContext::MakeGL(fBackendContext.get(), fDisplayParams.fGrContextOptions);
     if (!fContext && fDisplayParams.fMSAASampleCount) {
         fDisplayParams.fMSAASampleCount /= 2;
         this->initializeContext();
@@ -58,8 +57,7 @@
     if (fContext) {
         // in case we have outstanding refs to this guy (lua?)
         fContext->abandonContext();
-        fContext->unref();
-        fContext = nullptr;
+        fContext.reset();
     }
 
     fBackendContext.reset(nullptr);
@@ -83,7 +81,7 @@
                                             fPixelConfig,
                                             fbInfo);
 
-            fSurface = SkSurface::MakeFromBackendRenderTarget(fContext, backendRT,
+            fSurface = SkSurface::MakeFromBackendRenderTarget(fContext.get(), backendRT,
                                                               kBottomLeft_GrSurfaceOrigin,
                                                               fDisplayParams.fColorSpace,
                                                               &fSurfaceProps);
diff --git a/tools/viewer/sk_app/VulkanWindowContext.cpp b/tools/viewer/sk_app/VulkanWindowContext.cpp
index 261206c..a9124d5 100644
--- a/tools/viewer/sk_app/VulkanWindowContext.cpp
+++ b/tools/viewer/sk_app/VulkanWindowContext.cpp
@@ -67,8 +67,7 @@
     GET_DEV_PROC(AcquireNextImageKHR);
     GET_DEV_PROC(QueuePresentKHR);
 
-    fContext = GrContext::Create(kVulkan_GrBackend, (GrBackendContext) fBackendContext.get(),
-                                 fDisplayParams.fGrContextOptions);
+    fContext = GrContext::MakeVulkan(fBackendContext.get(), fDisplayParams.fGrContextOptions);
 
     fSurface = fCreateVkSurfaceFn(instance);
     if (VK_NULL_HANDLE == fSurface) {
@@ -280,7 +279,7 @@
 
         GrBackendTexture backendTex(fWidth, fHeight, info);
 
-        fSurfaces[i] = SkSurface::MakeFromBackendTextureAsRenderTarget(fContext, backendTex,
+        fSurfaces[i] = SkSurface::MakeFromBackendTextureAsRenderTarget(fContext.get(), backendTex,
                                                                        kTopLeft_GrSurfaceOrigin,
                                                                        fSampleCount,
                                                                        fDisplayParams.fColorSpace,
@@ -412,7 +411,7 @@
         fSurface = VK_NULL_HANDLE;
     }
 
-    fContext->unref();
+    fContext.reset();
 
     fBackendContext.reset(nullptr);
 }
diff --git a/tools/viewer/sk_app/WindowContext.h b/tools/viewer/sk_app/WindowContext.h
index fbd2756..cd4c357 100644
--- a/tools/viewer/sk_app/WindowContext.h
+++ b/tools/viewer/sk_app/WindowContext.h
@@ -8,11 +8,11 @@
 #define WindowContext_DEFINED
 
 #include "DisplayParams.h"
+#include "GrContext.h"
 #include "GrTypes.h"
 #include "SkRefCnt.h"
 #include "SkSurfaceProps.h"
 
-class GrContext;
 class SkSurface;
 class GrRenderTarget;
 
@@ -46,7 +46,7 @@
     }
 
     virtual GrBackendContext getBackendContext() = 0;
-    GrContext* getGrContext() const { return fContext; }
+    GrContext* getGrContext() const { return fContext.get(); }
 
     int width() const { return fWidth; }
     int height() const { return fHeight; }
@@ -56,7 +56,7 @@
 protected:
     virtual bool isGpuContext() { return true;  }
 
-    GrContext*        fContext;
+    sk_sp<GrContext>        fContext;
 
     int               fWidth;
     int               fHeight;