summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/Shared/ShareableBitmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/Shared/ShareableBitmap.cpp')
-rw-r--r--Source/WebKit2/Shared/ShareableBitmap.cpp17
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)