Index: third_party/WebKit/Source/bindings/templates/interface.cpp |
diff --git a/third_party/WebKit/Source/bindings/templates/interface.cpp b/third_party/WebKit/Source/bindings/templates/interface.cpp |
index 3198dce5af824209252ab08e55b295d813c4dfc0..082338820aa8544bafa51dce3db86b22e251ceab 100644 |
--- a/third_party/WebKit/Source/bindings/templates/interface.cpp |
+++ b/third_party/WebKit/Source/bindings/templates/interface.cpp |
@@ -764,11 +764,11 @@ |
// copying. |
v8::{{interface_name}}::Contents v8Contents = v8buffer->Externalize(); |
WTF::ArrayBufferContents contents(v8Contents.Data(), v8Contents.ByteLength(), WTF::ArrayBufferContents::{% if interface_name == 'ArrayBuffer' %}Not{% endif %}Shared); |
- {{cpp_class}}* buffer = {{cpp_class}}::create(contents); |
+ RefPtr<{{cpp_class}}> buffer = {{cpp_class}}::create(contents); |
v8::Local<v8::Object> associatedWrapper = buffer->associateWithWrapper(v8::Isolate::GetCurrent(), buffer->wrapperTypeInfo(), object); |
ASSERT_UNUSED(associatedWrapper, associatedWrapper == object); |
- return buffer; |
+ return buffer.get(); |
} |
{% elif interface_name == 'ArrayBufferView' %} |
@@ -814,7 +814,7 @@ |
v8::Local<v8::{{interface_name}}> v8View = object.As<v8::{{interface_name}}>(); |
v8::Local<v8::Object> arrayBuffer = v8View->Buffer(); |
- {{cpp_class}}* typedArray = nullptr; |
+ RefPtr<{{cpp_class}}> typedArray; |
if (arrayBuffer->IsArrayBuffer()) { |
typedArray = {{cpp_class}}::create(V8ArrayBuffer::toImpl(arrayBuffer), v8View->ByteOffset(), v8View->{% if interface_name == 'DataView' %}Byte{% endif %}Length()); |
} else if (arrayBuffer->IsSharedArrayBuffer()) { |