Migrate skottiekit to GrDirectContext

Change-Id: I6767070f63ba19a61ac6766254b9e524b7bbc8a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326901
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
diff --git a/experimental/skottiekit/skottiekit_bindings.cpp b/experimental/skottiekit/skottiekit_bindings.cpp
index a8f5807..b3292e5 100644
--- a/experimental/skottiekit/skottiekit_bindings.cpp
+++ b/experimental/skottiekit/skottiekit_bindings.cpp
@@ -214,8 +214,7 @@
 }
 
 #ifdef SK_GL
-// TODO: Migrate this to GrDirectContext.
-sk_sp<GrContext> MakeGrContext(EMSCRIPTEN_WEBGL_CONTEXT_HANDLE context)
+sk_sp<GrDirectContext> MakeGrContext(EMSCRIPTEN_WEBGL_CONTEXT_HANDLE context)
 {
     EMSCRIPTEN_RESULT r = emscripten_webgl_make_context_current(context);
     if (r < 0) {
@@ -224,12 +223,10 @@
     }
     // setup GrDirectContext
     auto interface = GrGLMakeNativeInterface();
-    // setup contexts
-    sk_sp<GrContext> grContext(GrDirectContext::MakeGL(interface));
-    return grContext;
+    return GrDirectContext::MakeGL(interface);
 }
 
-sk_sp<SkSurface> MakeOnScreenGLSurface(sk_sp<GrContext> grContext, int width, int height) {
+sk_sp<SkSurface> MakeOnScreenGLSurface(sk_sp<GrDirectContext> grContext, int width, int height) {
     glClearColor(0, 0, 0, 0);
     glClearStencil(0);
     glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
@@ -257,7 +254,7 @@
     return surface;
 }
 
-sk_sp<SkSurface> MakeRenderTarget(sk_sp<GrContext> grContext, int width, int height) {
+sk_sp<SkSurface> MakeRenderTarget(sk_sp<GrDirectContext> grContext, int width, int height) {
     SkImageInfo info = SkImageInfo::MakeN32(width, height, SkAlphaType::kPremul_SkAlphaType);
 
     sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(grContext.get(),
@@ -268,7 +265,7 @@
     return surface;
 }
 
-sk_sp<SkSurface> MakeRenderTarget(sk_sp<GrContext> grContext, SimpleImageInfo sii) {
+sk_sp<SkSurface> MakeRenderTarget(sk_sp<GrDirectContext> grContext, SimpleImageInfo sii) {
     sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(grContext.get(),
                              SkBudgeted::kYes,
                              toSkImageInfo(sii), 0,
@@ -290,32 +287,34 @@
 // types Pi, Pf").  But, we can just pretend they are numbers and cast them to be pointers and
 // the compiler is happy.
 EMSCRIPTEN_BINDINGS(Skottie) {
-    #ifdef SK_GL
+#ifdef SK_GL
     function("currentContext", &emscripten_webgl_get_current_context);
     function("setCurrentContext", &emscripten_webgl_make_context_current);
     function("MakeGrContext", &MakeGrContext);
     function("MakeOnScreenGLSurface", &MakeOnScreenGLSurface);
-    function("MakeRenderTarget", select_overload<sk_sp<SkSurface>(sk_sp<GrContext>, int, int)>(&MakeRenderTarget));
-    function("MakeRenderTarget", select_overload<sk_sp<SkSurface>(sk_sp<GrContext>, SimpleImageInfo)>(&MakeRenderTarget));
+    function("MakeRenderTarget",
+        select_overload<sk_sp<SkSurface>(sk_sp<GrDirectContext>, int, int)>(&MakeRenderTarget));
+    function("MakeRenderTarget",
+        select_overload<sk_sp<SkSurface>(sk_sp<GrDirectContext>, SimpleImageInfo)>(&MakeRenderTarget));
 
     constant("gpu", true);
 
-    class_<GrContext>("GrContext")
-    .smart_ptr<sk_sp<GrContext>>("sk_sp<GrContext>");
-    // .function("getResourceCacheLimitBytes", optional_override([](GrContext& self)->size_t {
+    class_<GrDirectContext>("GrDirectContext")
+    .smart_ptr<sk_sp<GrDirectContext>>("sk_sp<GrDirectContext>");
+    // .function("getResourceCacheLimitBytes", optional_override([](GrDirectContext& self)->size_t {
     //     int maxResources = 0;// ignored
     //     size_t currMax = 0;
     //     self.getResourceCacheLimits(&maxResources, &currMax);
     //     return currMax;
     // }))
-    // .function("getResourceCacheUsageBytes", optional_override([](GrContext& self)->size_t {
+    // .function("getResourceCacheUsageBytes", optional_override([](GrDirectContext& self)->size_t {
     //     int usedResources = 0;// ignored
     //     size_t currUsage = 0;
     //     self.getResourceCacheUsage(&usedResources, &currUsage);
     //     return currUsage;
     // }))
-    // .function("releaseResourcesAndAbandonContext", &GrContext::releaseResourcesAndAbandonContext)
-    // .function("setResourceCacheLimitBytes", optional_override([](GrContext& self, size_t maxResourceBytes)->void {
+    // .function("releaseResourcesAndAbandonContext", &GrDirectContext::releaseResourcesAndAbandonContext)
+    // .function("setResourceCacheLimitBytes", optional_override([](GrDirectContext& self, size_t maxResourceBytes) {
     //     int maxResources = 0;
     //     size_t currMax = 0; // ignored
     //     self.getResourceCacheLimits(&maxResources, &currMax);