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/src@11968 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/core/SkFlattenableSerialization.cpp b/core/SkFlattenableSerialization.cpp
index c687074..b98d935 100644
--- a/core/SkFlattenableSerialization.cpp
+++ b/core/SkFlattenableSerialization.cpp
@@ -8,14 +8,12 @@
#include "SkFlattenableSerialization.h"
#include "SkData.h"
-#include "SkFlattenable.h"
-#include "SkImageFilter.h"
-#include "SkOrderedReadBuffer.h"
+#include "SkValidatingReadBuffer.h"
#include "SkOrderedWriteBuffer.h"
-SkData* SkSerializeFlattenable(SkFlattenable* flattenable) {
+SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) {
SkOrderedWriteBuffer writer(1024);
- writer.setFlags(SkOrderedWriteBuffer::kCrossProcess_Flag);
+ writer.setFlags(SkOrderedWriteBuffer::kValidation_Flag);
writer.writeFlattenable(flattenable);
uint32_t size = writer.bytesWritten();
void* data = sk_malloc_throw(size);
@@ -23,8 +21,8 @@
return SkData::NewFromMalloc(data, size);
}
-// TODO: this guy should be renamed to ImageFilter, or take SkFlattenable::Type as a parameter.
-SkFlattenable* SkDeserializeFlattenable(const void* data, size_t size) {
- SkOrderedReadBuffer buffer(data, size);
- return buffer.readImageFilter();
+SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size,
+ SkFlattenable::Type type) {
+ SkValidatingReadBuffer buffer(data, size);
+ return buffer.readFlattenable(type);
}