OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkFlattenableSerialization.h" | 8 #include "SkFlattenableSerialization.h" |
9 | 9 |
10 #include "SkData.h" | 10 #include "SkData.h" |
11 #include "SkValidatingReadBuffer.h" | 11 #include "SkValidatingReadBuffer.h" |
12 #include "SkWriteBuffer.h" | 12 #include "SkWriteBuffer.h" |
13 | 13 |
14 SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) { | 14 SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) { |
15 SkWriteBuffer writer; | 15 SkWriteBuffer writer(SkWriteBuffer::kValidation_Flag); |
16 writer.setFlags(SkWriteBuffer::kValidation_Flag); | |
17 writer.writeFlattenable(flattenable); | 16 writer.writeFlattenable(flattenable); |
18 uint32_t size = writer.bytesWritten(); | 17 uint32_t size = writer.bytesWritten(); |
19 void* data = sk_malloc_throw(size); | 18 void* data = sk_malloc_throw(size); |
20 writer.writeToMemory(data); | 19 writer.writeToMemory(data); |
21 return SkData::NewFromMalloc(data, size); | 20 return SkData::NewFromMalloc(data, size); |
22 } | 21 } |
23 | 22 |
24 SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, | 23 SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, |
25 SkFlattenable::Type type) { | 24 SkFlattenable::Type type) { |
26 SkValidatingReadBuffer buffer(data, size); | 25 SkValidatingReadBuffer buffer(data, size); |
27 return buffer.readFlattenable(type); | 26 return buffer.readFlattenable(type); |
28 } | 27 } |
OLD | NEW |