Index: Source/wtf/ArrayBuffer.cpp |
diff --git a/Source/wtf/ArrayBuffer.cpp b/Source/wtf/ArrayBuffer.cpp |
index cfbdc9de1418bca9204a2a7a94e37116d28251ac..f92f41bf0a1baa0ab89f5dcbdafd423623aaa5e1 100644 |
--- a/Source/wtf/ArrayBuffer.cpp |
+++ b/Source/wtf/ArrayBuffer.cpp |
@@ -33,10 +33,11 @@ namespace WTF { |
bool ArrayBuffer::transfer(ArrayBufferContents& result) |
{ |
+ ASSERT(!isShared()); |
RefPtr<ArrayBuffer> keepAlive(this); |
if (!m_contents.data()) { |
- result.clear(); |
+ result.neuter(); |
return false; |
} |
@@ -66,6 +67,20 @@ bool ArrayBuffer::transfer(ArrayBufferContents& result) |
return true; |
} |
+bool ArrayBuffer::shareContentsWith(ArrayBufferContents& result) |
+{ |
+ ASSERT(isShared()); |
+ RefPtr<ArrayBuffer> keepAlive(this); |
+ |
+ if (!m_contents.data()) { |
+ result.neuter(); |
+ return false; |
+ } |
+ |
+ m_contents.transfer(result); |
kinuko
2015/06/24 03:05:36
Did you mean to call shareWith here?
binji
2015/06/24 04:41:36
Oops, yes. Thanks!
|
+ return true; |
+} |
+ |
void ArrayBuffer::addView(ArrayBufferView* view) |
{ |
view->m_buffer = this; |