Chromium Code Reviews| Index: ppapi/shared_impl/ppb_var_shared.cc |
| diff --git a/ppapi/shared_impl/ppb_var_shared.cc b/ppapi/shared_impl/ppb_var_shared.cc |
| index c548ba7752ec294afa44be115b90cacfca8d1b0d..445dc22890cf6b9ac76b1a4a620c4b24c47c16b7 100644 |
| --- a/ppapi/shared_impl/ppb_var_shared.cc |
| +++ b/ppapi/shared_impl/ppb_var_shared.cc |
| @@ -6,6 +6,7 @@ |
| #include <limits> |
| +#include "ppapi/c/dev/ppb_var_array_buffer_dev.h" |
| #include "ppapi/c/ppb_var.h" |
| #include "ppapi/c/pp_var.h" |
| #include "ppapi/shared_impl/ppapi_globals.h" |
| @@ -17,7 +18,9 @@ using ppapi::PpapiGlobals; |
| using ppapi::StringVar; |
| namespace ppapi { |
| +namespace { |
| +// PPB_Var methods ------------------------------------------------------------- |
|
brettw
2011/12/15 00:19:51
I'd normally put blank lines on both sides of this
|
| void AddRefVar(PP_Var var) { |
| ppapi::ProxyAutoLock lock; |
| PpapiGlobals::Get()->GetVarTracker()->AddRefVar(var); |
| @@ -48,7 +51,6 @@ const char* VarToUtf8(PP_Var var, uint32_t* len) { |
| return NULL; |
| } |
| -namespace { |
| const PPB_Var var_interface = { |
| &AddRefVar, |
| &ReleaseVar, |
| @@ -62,6 +64,33 @@ const PPB_Var_1_0 var_interface1_0 = { |
| &VarFromUtf8_1_0, |
| &VarToUtf8 |
| }; |
| + |
| +// PPB_VarArrayBuffer_Dev methods ---------------------------------------------- |
| +PP_Var CreateArrayBufferVar(uint32_t size_in_bytes) { |
| + return PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar( |
|
brettw
2011/12/15 00:19:51
Need extra space in most of these functions.
|
| + size_in_bytes); |
| +} |
| + |
| +uint32_t ByteLength(struct PP_Var array) { |
| + ArrayBufferVar* buffer = ArrayBufferVar::FromPPVar(array); |
| + if (!buffer) |
| + return 0; |
| + return buffer->ByteLength(); |
| +} |
| + |
| +void* Map(struct PP_Var array) { |
| + ArrayBufferVar* buffer = ArrayBufferVar::FromPPVar(array); |
| + if (!buffer) |
| + return NULL; |
| + return buffer->Map(); |
| +} |
| + |
| +const PPB_VarArrayBuffer_Dev var_arraybuffer_interface = { |
| + &CreateArrayBufferVar, |
| + &ByteLength, |
| + &Map |
| +}; |
| + |
| } // namespace |
| // static |
| @@ -74,5 +103,10 @@ const PPB_Var_1_0* PPB_Var_Shared::GetVarInterface1_0() { |
| return &var_interface1_0; |
| } |
| +// static |
| +const PPB_VarArrayBuffer_Dev* PPB_Var_Shared::GetVarArrayBufferInterface() { |
| + return &var_arraybuffer_interface; |
| +} |
| + |
| } // namespace ppapi |