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(SkWriteBuffer::kValidation_Flag); | 15 SkWriteBuffer writer(SkWriteBuffer::kValidation_Flag); |
16 writer.writeFlattenable(flattenable); | 16 writer.writeFlattenable(flattenable); |
17 size_t size = writer.bytesWritten(); | 17 size_t size = writer.bytesWritten(); |
18 auto data = SkData::MakeUninitialized(size); | 18 auto data = SkData::MakeUninitialized(size); |
19 writer.writeToMemory(data->writable_data()); | 19 writer.writeToMemory(data->writable_data()); |
20 return data.release(); | 20 return data.release(); |
21 } | 21 } |
22 | 22 |
23 SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size)
{ | 23 SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, |
| 24 SkFlattenable::Type type) { |
24 SkValidatingReadBuffer buffer(data, size); | 25 SkValidatingReadBuffer buffer(data, size); |
25 return buffer.readFlattenable(); | 26 return buffer.readFlattenable(type); |
26 } | 27 } |
OLD | NEW |