Index: ppapi/shared_impl/var_tracker.cc |
diff --git a/ppapi/shared_impl/var_tracker.cc b/ppapi/shared_impl/var_tracker.cc |
index 8214a307aef5bafaa801c0f40a095131f5d88264..d515cf76ae959b674a05bd4dd0ebc4296ea3cdec 100644 |
--- a/ppapi/shared_impl/var_tracker.cc |
+++ b/ppapi/shared_impl/var_tracker.cc |
@@ -186,13 +186,18 @@ PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes) { |
PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes, |
const void* data) { |
- DCHECK(CalledOnValidThread()); |
+ ArrayBufferVar* array_buffer = MakeArrayBufferVar(size_in_bytes, data); |
+ return array_buffer ? array_buffer->GetPPVar() : PP_MakeNull(); |
+} |
- scoped_refptr<ArrayBufferVar> array_buffer(CreateArrayBuffer(size_in_bytes)); |
+ArrayBufferVar* VarTracker::MakeArrayBufferVar(uint32 size_in_bytes, |
+ const void* data) { |
+ DCHECK(CalledOnValidThread()); |
+ ArrayBufferVar* array_buffer(CreateArrayBuffer(size_in_bytes)); |
if (!array_buffer) |
- return PP_MakeNull(); |
+ return NULL; |
memcpy(array_buffer->Map(), data, size_in_bytes); |
- return array_buffer->GetPPVar(); |
+ return array_buffer; |
} |
std::vector<PP_Var> VarTracker::GetLiveVars() { |