summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/mac/PurgeableBufferMac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/mac/PurgeableBufferMac.cpp')
-rw-r--r--WebCore/platform/mac/PurgeableBufferMac.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/WebCore/platform/mac/PurgeableBufferMac.cpp b/WebCore/platform/mac/PurgeableBufferMac.cpp
index 9902f77..ce00494 100644
--- a/WebCore/platform/mac/PurgeableBufferMac.cpp
+++ b/WebCore/platform/mac/PurgeableBufferMac.cpp
@@ -50,27 +50,27 @@ PurgeableBuffer::~PurgeableBuffer()
vm_deallocate(mach_task_self(), reinterpret_cast<vm_address_t>(m_data), m_size);
}
-PurgeableBuffer* PurgeableBuffer::create(const char* data, size_t size)
+PassOwnPtr<PurgeableBuffer> PurgeableBuffer::create(const char* data, size_t size)
{
if (size < minPurgeableBufferSize)
- return 0;
+ return PassOwnPtr<PurgeableBuffer>();
vm_address_t buffer = 0;
kern_return_t ret = vm_allocate(mach_task_self(), &buffer, size, VM_FLAGS_PURGABLE | VM_FLAGS_ANYWHERE | VM_TAG_FOR_WEBCORE_PURGEABLE_MEMORY);
ASSERT(ret == KERN_SUCCESS);
if (ret != KERN_SUCCESS)
- return 0;
+ return PassOwnPtr<PurgeableBuffer>();
ret = vm_copy(mach_task_self(), reinterpret_cast<vm_address_t>(data), size, buffer);
ASSERT(ret == KERN_SUCCESS);
if (ret != KERN_SUCCESS) {
vm_deallocate(mach_task_self(), buffer, size);
- return 0;
+ return PassOwnPtr<PurgeableBuffer>();
}
- return new PurgeableBuffer(reinterpret_cast<char*>(buffer), size);
+ return adoptPtr(new PurgeableBuffer(reinterpret_cast<char*>(buffer), size));
}
bool PurgeableBuffer::makePurgeable(bool purgeable)