aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkFlattenableSerialization.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-12-06 16:09:20 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-06 21:33:00 +0000
commitfadbfcd4aba676d44dfb08de1a83143a1c63b95c (patch)
treea67a5a69ce9e7e9d0bbbd4507c6a6f6f65c90ace /src/core/SkFlattenableSerialization.cpp
parenta492eb0e1f08311bfa47f46c660144e7bc8a6c0e (diff)
upgrade SkReadBuffer to always validate
Bug: skia: Change-Id: I054560b66c6cde346d939015326d8547879d2c4b Reviewed-on: https://skia-review.googlesource.com/81160 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkFlattenableSerialization.cpp')
-rw-r--r--src/core/SkFlattenableSerialization.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/core/SkFlattenableSerialization.cpp b/src/core/SkFlattenableSerialization.cpp
index e72b4c5348..3976010fb2 100644
--- a/src/core/SkFlattenableSerialization.cpp
+++ b/src/core/SkFlattenableSerialization.cpp
@@ -6,27 +6,19 @@
*/
#include "SkFlattenableSerialization.h"
-
#include "SkData.h"
-#include "SkValidatingReadBuffer.h"
-#include "SkWriteBuffer.h"
+#include "SkImageFilter.h"
SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) {
- SkBinaryWriteBuffer writer;
- writer.writeFlattenable(flattenable);
- size_t size = writer.bytesWritten();
- auto data = SkData::MakeUninitialized(size);
- writer.writeToMemory(data->writable_data());
- return data.release();
+ return flattenable->serialize().release();
}
SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size,
SkFlattenable::Type type) {
- SkValidatingReadBuffer buffer(data, size);
- return buffer.readFlattenable(type);
+ return SkFlattenable::Deserialize(type, data, size).release();
}
sk_sp<SkImageFilter> SkValidatingDeserializeImageFilter(const void* data, size_t size) {
- return sk_sp<SkImageFilter>((SkImageFilter*)SkValidatingDeserializeFlattenable(
- data, size, SkImageFilter::GetFlattenableType()));
+ auto flat = SkFlattenable::Deserialize(SkFlattenable::kSkImageFilter_Type, data, size);
+ return sk_sp<SkImageFilter>(static_cast<SkImageFilter*>(flat.release()));
}