diff options
Diffstat (limited to 'chromium/third_party/skia/src/core/SkData.cpp')
-rw-r--r-- | chromium/third_party/skia/src/core/SkData.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/chromium/third_party/skia/src/core/SkData.cpp b/chromium/third_party/skia/src/core/SkData.cpp index fd963a9ff50..c65328720a7 100644 --- a/chromium/third_party/skia/src/core/SkData.cpp +++ b/chromium/third_party/skia/src/core/SkData.cpp @@ -6,9 +6,10 @@ */ #include "SkData.h" -#include "SkFlattenableBuffers.h" +#include "SkLazyPtr.h" #include "SkOSFile.h" -#include "SkOnce.h" +#include "SkReadBuffer.h" +#include "SkWriteBuffer.h" SkData::SkData(const void* ptr, size_t size, ReleaseProc proc, void* context) { fPtr = ptr; @@ -48,16 +49,14 @@ size_t SkData::copyRange(size_t offset, size_t length, void* buffer) const { /////////////////////////////////////////////////////////////////////////////// -void SkData::NewEmptyImpl(SkData** empty) { - *empty = new SkData(NULL, 0, NULL, NULL); +SkData* SkData::NewEmptyImpl() { + return new SkData(NULL, 0, NULL, NULL); } +void SkData::DeleteEmpty(SkData* ptr) { SkDELETE(ptr); } SkData* SkData::NewEmpty() { - static SkData* gEmptyRef; - SK_DECLARE_STATIC_ONCE(once); - SkOnce(&once, SkData::NewEmptyImpl, &gEmptyRef); - gEmptyRef->ref(); - return gEmptyRef; + SK_DECLARE_STATIC_LAZY_PTR(SkData, empty, NewEmptyImpl, DeleteEmpty); + return SkRef(empty.get()); } // assumes fPtr was allocated via sk_malloc |