[canvaskit] Fix null dereference when GrContext cannot be made

This happens when validation fails, for example.

Change-Id: Idbd552fbce51c5cf1543fc7a0a34a87230264d6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253658
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/modules/canvaskit/CHANGELOG.md b/modules/canvaskit/CHANGELOG.md
index 2f8cf75..6cc8bd2 100644
--- a/modules/canvaskit/CHANGELOG.md
+++ b/modules/canvaskit/CHANGELOG.md
@@ -22,6 +22,9 @@
  - Use newer version of Freetype2 (Tracking Skia's DEPS now).
  - Use newer versions of libpng and zlib (Tracking Skia's DEPS now).
 
+### Fixed
+ - null dereference when sometimes falling back to CPU.
+
 ## [0.8.0] - 2019-10-21
 
 ### Added
diff --git a/modules/canvaskit/gpu.js b/modules/canvaskit/gpu.js
index 179b64b..ee10486 100644
--- a/modules/canvaskit/gpu.js
+++ b/modules/canvaskit/gpu.js
@@ -80,9 +80,12 @@
 
         var grcontext = this.MakeGrContext(ctx);
 
-        // Bump the default resource cache limit.
-        var RESOURCE_CACHE_BYTES = 256 * 1024 * 1024;
-        grcontext.setResourceCacheLimitBytes(RESOURCE_CACHE_BYTES);
+        if (grcontext) {
+           // Bump the default resource cache limit.
+          var RESOURCE_CACHE_BYTES = 256 * 1024 * 1024;
+          grcontext.setResourceCacheLimitBytes(RESOURCE_CACHE_BYTES);
+        }
+
 
         // Maybe better to use clientWidth/height.  See:
         // https://webglfundamentals.org/webgl/lessons/webgl-anti-patterns.html