summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/src/core/SkData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/src/core/SkData.cpp')
-rw-r--r--chromium/third_party/skia/src/core/SkData.cpp17
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