Index: third_party/WebKit/Source/core/dom/DOMArrayBuffer.cpp |
diff --git a/third_party/WebKit/Source/core/dom/DOMArrayBuffer.cpp b/third_party/WebKit/Source/core/dom/DOMArrayBuffer.cpp |
index 7f066c1004bf05d97ef17f32e5e56d9e12cab349..a614c454e0e4d2bcc4a7fe9dd9f2440e4c766ff0 100644 |
--- a/third_party/WebKit/Source/core/dom/DOMArrayBuffer.cpp |
+++ b/third_party/WebKit/Source/core/dom/DOMArrayBuffer.cpp |
@@ -10,6 +10,11 @@ |
v8::Local<v8::Object> DOMArrayBuffer::wrap(v8::Isolate* isolate, v8::Local<v8::Object> creationContext) |
{ |
+ // It's possible that no one except for the new wrapper owns this object at |
+ // this moment, so we have to prevent GC to collect this object until the |
+ // object gets associated with the wrapper. |
+ RefPtr<DOMArrayBuffer> protect(this); |
+ |
DCHECK(!DOMDataStore::containsWrapper(this, isolate)); |
const WrapperTypeInfo* wrapperTypeInfo = this->wrapperTypeInfo(); |