Enabling validation code in serialization and adding serialization to fuzzer

BUG=
R=reed@google.com, mtklein@google.com, senorblanco@chromium.org, bsalomon@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/44573002

git-svn-id: http://skia.googlecode.com/svn/trunk/include@11968 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/core/SkFlattenableSerialization.h b/core/SkFlattenableSerialization.h
index 2ed244c..870d9fe 100644
--- a/core/SkFlattenableSerialization.h
+++ b/core/SkFlattenableSerialization.h
@@ -8,12 +8,19 @@
 #ifndef SkFlattenableSerialization_DEFINED
 #define SkFlattenableSerialization_DEFINED
 
-#include "SkTypes.h"
+#include "SkFlattenable.h"
 
 class SkData;
-class SkFlattenable;
 
-SK_API SkData* SkSerializeFlattenable(SkFlattenable*);
-SK_API SkFlattenable* SkDeserializeFlattenable(const void* data, size_t size);
+SK_API SkData* SkValidatingSerializeFlattenable(SkFlattenable*);
+SK_API SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size,
+                                                         SkFlattenable::Type type);
+
+// Temporary fix for canary build
+#define SkSerializeFlattenable(flattenable) \
+SkValidatingSerializeFlattenable(flattenable)
+
+#define SkDeserializeFlattenable(data, size) \
+SkValidatingDeserializeFlattenable(data, size, SkFlattenable::kSkImageFilter_Type)
 
 #endif