| Index: Source/wtf/ArrayBuffer.cpp
|
| diff --git a/Source/wtf/ArrayBuffer.cpp b/Source/wtf/ArrayBuffer.cpp
|
| index cfbdc9de1418bca9204a2a7a94e37116d28251ac..21eafab9d65bc3465a270e27e2043dd9c6b16a67 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.shareWith(result);
|
| + return true;
|
| +}
|
| +
|
| void ArrayBuffer::addView(ArrayBufferView* view)
|
| {
|
| view->m_buffer = this;
|
|
|