Chromium Code Reviews| Index: src/core/SkOrderedWriteBuffer.cpp |
| diff --git a/src/core/SkOrderedWriteBuffer.cpp b/src/core/SkOrderedWriteBuffer.cpp |
| index 64f52193acaf7c55dab611a5b53f41f13685fd7e..bc2cb648586f7ea8090e8ee8bfa88a36c8c74896 100644 |
| --- a/src/core/SkOrderedWriteBuffer.cpp |
| +++ b/src/core/SkOrderedWriteBuffer.cpp |
| @@ -270,7 +270,9 @@ void SkOrderedWriteBuffer::writeFlattenable(SkFlattenable* flattenable) { |
| factory = flattenable->getFactory(); |
| } |
| if (NULL == factory) { |
| - if (fFactorySet != NULL || fNamedFactorySet != NULL) { |
| + if (isSecure()) { |
|
sugoi1
2013/08/29 18:55:53
I added these 2 checks to the writer, but, hopeful
reed1
2013/08/29 19:08:22
style nit: this->isSecure()
sugoi1
2013/08/29 19:39:40
Done.
|
| + this->writeString(NULL); |
| + } else if (fFactorySet != NULL || fNamedFactorySet != NULL) { |
| this->write32(0); |
| } else { |
| this->writeFunctionPtr(NULL); |
| @@ -290,7 +292,14 @@ void SkOrderedWriteBuffer::writeFlattenable(SkFlattenable* flattenable) { |
| * name. SkGPipe uses this technique so it can write the name to its |
| * stream before writing the flattenable. |
| */ |
| - if (fFactorySet) { |
| + if (isSecure()) { |
|
reed1
2013/08/29 19:08:22
style nit: this->isSecure()
sugoi1
2013/08/29 19:39:40
Done.
|
| + const char* name = SkFlattenable::FactoryToName(factory); |
| + this->writeString(name); |
| + if (NULL == name) { |
| + SkASSERT(!"Missing factory name"); |
| + return; |
| + } |
| + } else if (fFactorySet) { |
| this->write32(fFactorySet->add(factory)); |
| } else if (fNamedFactorySet) { |
| int32_t index = fNamedFactorySet->find(factory); |