Chromium Code Reviews| 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; |