Shim to enforce that canvas virtuals are overridden

Change-Id: Iad70d449bbc43195baefd70d20c41996a8435e6e
Reviewed-on: https://skia-review.googlesource.com/113320
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/include/utils/SkNWayCanvas.h b/include/utils/SkNWayCanvas.h
index ca57e59..e6a6b99 100644
--- a/include/utils/SkNWayCanvas.h
+++ b/include/utils/SkNWayCanvas.h
@@ -10,9 +10,10 @@
 #define SkNWayCanvas_DEFINED
 
 #include "../private/SkTDArray.h"
+#include "SkCanvasVirtualEnforcer.h"
 #include "SkNoDrawCanvas.h"
 
-class SK_API SkNWayCanvas : public SkNoDrawCanvas {
+class SK_API SkNWayCanvas : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
 public:
     SkNWayCanvas(int width, int height);
     ~SkNWayCanvas() override;
@@ -96,7 +97,7 @@
     class Iter;
 
 private:
-    typedef SkNoDrawCanvas INHERITED;
+    typedef SkCanvasVirtualEnforcer<SkNoDrawCanvas> INHERITED;
 };