diff options
Diffstat (limited to 'Source/WebKit2/Shared/ShareableBitmap.cpp')
-rw-r--r-- | Source/WebKit2/Shared/ShareableBitmap.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Source/WebKit2/Shared/ShareableBitmap.cpp b/Source/WebKit2/Shared/ShareableBitmap.cpp index e89cdb7..ab1991f 100644 --- a/Source/WebKit2/Shared/ShareableBitmap.cpp +++ b/Source/WebKit2/Shared/ShareableBitmap.cpp @@ -47,10 +47,20 @@ PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size PassRefPtr<ShareableBitmap> ShareableBitmap::createShareable(const IntSize& size) { size_t numBytes = numBytesForSize(size); - + RefPtr<SharedMemory> sharedMemory = SharedMemory::create(numBytes); if (!sharedMemory) return 0; + + return adoptRef(new ShareableBitmap(size, sharedMemory)); +} + +PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size, PassRefPtr<SharedMemory> sharedMemory) +{ + ASSERT(sharedMemory); + + size_t numBytes = numBytesForSize(size); + ASSERT_UNUSED(numBytes, sharedMemory->size() >= numBytes); return adoptRef(new ShareableBitmap(size, sharedMemory)); } @@ -62,10 +72,7 @@ PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size if (!sharedMemory) return 0; - size_t numBytes = numBytesForSize(size); - ASSERT_UNUSED(numBytes, sharedMemory->size() >= numBytes); - - return adoptRef(new ShareableBitmap(size, sharedMemory)); + return create(size, sharedMemory.release()); } bool ShareableBitmap::createHandle(SharedMemory::Handle& handle) |