DM: don't leak the null canvas in NullSink.
Also make NullSink a real boy: declared among the other Sinks, impl in .cpp.
BUG=skia:
Review URL: https://codereview.chromium.org/922293003
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 48c572b..4c15c92 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -8,7 +8,6 @@
#include "SkCanvas.h"
#include "SkData.h"
#include "SkGPipe.h"
-#include "SkNullCanvas.h"
#include "SkPicture.h"
#include "gm.h"
@@ -86,6 +85,16 @@
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+class NullSink : public Sink {
+public:
+ NullSink() {}
+
+ Error draw(const Src& src, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE;
+ int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
+ const char* fileExtension() const SK_OVERRIDE { return ""; }
+};
+
+
class GPUSink : public Sink {
public:
GPUSink(GrContextFactory::GLContextType, GrGLStandard, int samples, bool dfText, bool threaded);
@@ -189,15 +198,6 @@
SkAutoTDelete<Sink> fSink;
};
-class NullSink : public Sink {
-public:
- Error draw(const Src& src, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE {
- return src.draw(SkCreateNullCanvas());
- }
- int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
- const char* fileExtension() const SK_OVERRIDE { return ""; }
-};
-
} // namespace DM
#endif//DMSrcSink_DEFINED