| Index: ppapi/shared_impl/var.cc
|
| diff --git a/ppapi/shared_impl/var.cc b/ppapi/shared_impl/var.cc
|
| index 60d439bd6b3f0099830a6a33b5e5c3c40030ac2d..3fce7e3180fadf8102f56ddf4388c3455cfa845c 100644
|
| --- a/ppapi/shared_impl/var.cc
|
| +++ b/ppapi/shared_impl/var.cc
|
| @@ -124,6 +124,11 @@ StringVar::StringVar(const char* str, uint32 len)
|
| StringVar::~StringVar() {
|
| }
|
|
|
| +StringVar::StringVar(scoped_ptr<std::string> str) {
|
| + // Swap the given string's contents in to value to avoid copying.
|
| + str->swap(value_);
|
| +}
|
| +
|
| StringVar* StringVar::AsStringVar() {
|
| return this;
|
| }
|
| @@ -146,6 +151,17 @@ PP_Var StringVar::StringToPPVar(const char* data, uint32 len) {
|
| }
|
|
|
| // static
|
| +PP_Var StringVar::StringToPPVar(scoped_ptr<std::string> str) {
|
| + DCHECK(str.get());
|
| + if (!str.get())
|
| + return PP_MakeNull();
|
| + scoped_refptr<StringVar> str_var(new StringVar(str.Pass()));
|
| + if (!str_var || !IsStringUTF8(str_var->value()))
|
| + return PP_MakeNull();
|
| + return str_var->GetPPVar();
|
| +}
|
| +
|
| +// static
|
| StringVar* StringVar::FromPPVar(PP_Var var) {
|
| if (var.type != PP_VARTYPE_STRING)
|
| return NULL;
|
|
|