Index: Source/wtf/ArrayBuffer.h |
diff --git a/Source/wtf/ArrayBuffer.h b/Source/wtf/ArrayBuffer.h |
index a85d9e41a8afd3ffa40912ba5d56f2b4a68d7f53..fd0040edee08911b868e91915c2c7f0189c9aa08 100644 |
--- a/Source/wtf/ArrayBuffer.h |
+++ b/Source/wtf/ArrayBuffer.h |
@@ -174,7 +174,10 @@ PassRefPtr<ArrayBuffer> ArrayBuffer::createShared(unsigned numElements, unsigned |
ArrayBuffer::ArrayBuffer(ArrayBufferContents& contents) |
: m_firstView(0), m_isNeutered(false) |
{ |
- contents.transfer(m_contents); |
+ if (contents.isShared()) |
+ contents.shareWith(m_contents); |
+ else |
+ contents.transfer(m_contents); |
} |
void* ArrayBuffer::data() |