diff options
author | 2017-12-06 16:09:20 -0500 | |
---|---|---|
committer | 2017-12-06 21:33:00 +0000 | |
commit | fadbfcd4aba676d44dfb08de1a83143a1c63b95c (patch) | |
tree | a67a5a69ce9e7e9d0bbbd4507c6a6f6f65c90ace /src/core/SkFlattenableSerialization.cpp | |
parent | a492eb0e1f08311bfa47f46c660144e7bc8a6c0e (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.cpp | 18 |
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())); } |