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/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h
index f67573d..17c10d6 100644
--- a/src/core/SkPictureRecord.h
+++ b/src/core/SkPictureRecord.h
@@ -9,6 +9,7 @@
 #define SkPictureRecord_DEFINED
 
 #include "SkCanvas.h"
+#include "SkCanvasVirtualEnforcer.h"
 #include "SkFlattenable.h"
 #include "SkPicture.h"
 #include "SkPictureData.h"
@@ -27,7 +28,7 @@
 #define PACK_8_24(small, large) ((small << 24) | large)
 
 
-class SkPictureRecord : public SkCanvas {
+class SkPictureRecord : public SkCanvasVirtualEnforcer<SkCanvas> {
 public:
     SkPictureRecord(const SkISize& dimensions, uint32_t recordFlags);
     ~SkPictureRecord() override;
@@ -262,7 +263,7 @@
 
     friend class SkPictureData;   // for SkPictureData's SkPictureRecord-based constructor
 
-    typedef SkCanvas INHERITED;
+    typedef SkCanvasVirtualEnforcer<SkCanvas> INHERITED;
 };
 
 #endif