| Index: content/renderer/pepper/v8_var_converter.cc
|
| diff --git a/content/renderer/pepper/v8_var_converter.cc b/content/renderer/pepper/v8_var_converter.cc
|
| index 1affa205b8182560a0cc9ab10b192b5a067873fb..6dc5d78ecdd0e2b55839d7fa44072d5d7917b35b 100644
|
| --- a/content/renderer/pepper/v8_var_converter.cc
|
| +++ b/content/renderer/pepper/v8_var_converter.cc
|
| @@ -54,14 +54,10 @@ namespace BASE_HASH_NAMESPACE {
|
| #if defined(COMPILER_GCC)
|
| template <>
|
| struct hash<HashedHandle> {
|
| - size_t operator()(const HashedHandle& handle) const {
|
| - return handle.hash();
|
| - }
|
| + size_t operator()(const HashedHandle& handle) const { return handle.hash(); }
|
| };
|
| #elif defined(COMPILER_MSVC)
|
| -inline size_t hash_value(const HashedHandle& handle) {
|
| - return handle.hash();
|
| -}
|
| +inline size_t hash_value(const HashedHandle& handle) { return handle.hash(); }
|
| #endif
|
| } // namespace BASE_HASH_NAMESPACE
|
|
|
| @@ -110,9 +106,8 @@ bool GetOrCreateV8Value(v8::Handle<v8::Context> context,
|
| *result = v8::Null(isolate);
|
| break;
|
| case PP_VARTYPE_BOOL:
|
| - *result = (var.value.as_bool == PP_TRUE)
|
| - ? v8::True(isolate)
|
| - : v8::False(isolate);
|
| + *result = (var.value.as_bool == PP_TRUE) ? v8::True(isolate)
|
| + : v8::False(isolate);
|
| break;
|
| case PP_VARTYPE_INT32:
|
| *result = v8::Integer::New(isolate, var.value.as_int);
|
| @@ -132,10 +127,8 @@ bool GetOrCreateV8Value(v8::Handle<v8::Context> context,
|
| // in the sense that string primitives in JavaScript can't be referenced
|
| // in the same way that string vars can in pepper. But that information
|
| // isn't very useful and primitive strings are a more expected form in JS.
|
| - *result = v8::String::NewFromUtf8(isolate,
|
| - value.c_str(),
|
| - v8::String::kNormalString,
|
| - value.size());
|
| + *result = v8::String::NewFromUtf8(
|
| + isolate, value.c_str(), v8::String::kNormalString, value.size());
|
| break;
|
| }
|
| case PP_VARTYPE_ARRAY_BUFFER: {
|
| @@ -196,8 +189,8 @@ bool GetOrCreateVar(v8::Handle<v8::Value> val,
|
| if (parent_handles->count(HashedHandle(val->ToObject())) != 0)
|
| return false;
|
|
|
| - HandleVarMap::const_iterator it = visited_handles->find(
|
| - HashedHandle(val->ToObject()));
|
| + HandleVarMap::const_iterator it =
|
| + visited_handles->find(HashedHandle(val->ToObject()));
|
| if (it != visited_handles->end()) {
|
| *result = it->second.get();
|
| return true;
|
| @@ -223,13 +216,13 @@ bool GetOrCreateVar(v8::Handle<v8::Value> val,
|
| scoped_ptr<blink::WebArrayBuffer> web_array_buffer(
|
| blink::WebArrayBufferConverter::createFromV8Value(val));
|
| if (web_array_buffer.get()) {
|
| - scoped_refptr<HostArrayBufferVar> buffer_var(new HostArrayBufferVar(
|
| - *web_array_buffer));
|
| + scoped_refptr<HostArrayBufferVar> buffer_var(
|
| + new HostArrayBufferVar(*web_array_buffer));
|
| *result = buffer_var->GetPPVar();
|
| } else {
|
| bool was_resource;
|
| - if (!resource_converter->FromV8Value(val->ToObject(), context, result,
|
| - &was_resource))
|
| + if (!resource_converter->FromV8Value(
|
| + val->ToObject(), context, result, &was_resource))
|
| return false;
|
| if (!was_resource) {
|
| *result = (new DictionaryVar())->GetPPVar();
|
| @@ -244,9 +237,9 @@ bool GetOrCreateVar(v8::Handle<v8::Value> val,
|
|
|
| *did_create = true;
|
| if (val->IsObject() || val->IsString()) {
|
| - visited_handles->insert(make_pair(
|
| - HashedHandle(val->ToObject()),
|
| - ScopedPPVar(ScopedPPVar::PassRef(), *result)));
|
| + visited_handles->insert(
|
| + make_pair(HashedHandle(val->ToObject()),
|
| + ScopedPPVar(ScopedPPVar::PassRef(), *result)));
|
| }
|
| return true;
|
| }
|
| @@ -263,15 +256,12 @@ V8VarConverter::V8VarConverter(PP_Instance instance)
|
| instance, RendererPpapiHost::GetForPPInstance(instance)));
|
| }
|
|
|
| -V8VarConverter::V8VarConverter(
|
| - PP_Instance instance,
|
| - scoped_ptr<ResourceConverter> resource_converter)
|
| +V8VarConverter::V8VarConverter(PP_Instance instance,
|
| + scoped_ptr<ResourceConverter> resource_converter)
|
| : message_loop_proxy_(base::MessageLoopProxy::current()),
|
| - resource_converter_(resource_converter.release()) {
|
| -}
|
| + resource_converter_(resource_converter.release()) {}
|
|
|
| -V8VarConverter::~V8VarConverter() {
|
| -}
|
| +V8VarConverter::~V8VarConverter() {}
|
|
|
| // To/FromV8Value use a stack-based DFS search to traverse V8/Var graph. Each
|
| // iteration, the top node on the stack examined. If the node has not been
|
| @@ -312,8 +302,12 @@ bool V8VarConverter::ToV8Value(const PP_Var& var,
|
| }
|
|
|
| bool did_create = false;
|
| - if (!GetOrCreateV8Value(context, current_var, ¤t_v8, &did_create,
|
| - &visited_ids, &parent_ids,
|
| + if (!GetOrCreateV8Value(context,
|
| + current_var,
|
| + ¤t_v8,
|
| + &did_create,
|
| + &visited_ids,
|
| + &parent_ids,
|
| resource_converter_.get())) {
|
| return false;
|
| }
|
| @@ -337,8 +331,12 @@ bool V8VarConverter::ToV8Value(const PP_Var& var,
|
| for (size_t i = 0; i < array_var->elements().size(); ++i) {
|
| const PP_Var& child_var = array_var->elements()[i].get();
|
| v8::Handle<v8::Value> child_v8;
|
| - if (!GetOrCreateV8Value(context, child_var, &child_v8, &did_create,
|
| - &visited_ids, &parent_ids,
|
| + if (!GetOrCreateV8Value(context,
|
| + child_var,
|
| + &child_v8,
|
| + &did_create,
|
| + &visited_ids,
|
| + &parent_ids,
|
| resource_converter_.get())) {
|
| return false;
|
| }
|
| @@ -368,22 +366,25 @@ bool V8VarConverter::ToV8Value(const PP_Var& var,
|
| const std::string& key = iter->first;
|
| const PP_Var& child_var = iter->second.get();
|
| v8::Handle<v8::Value> child_v8;
|
| - if (!GetOrCreateV8Value(context, child_var, &child_v8, &did_create,
|
| - &visited_ids, &parent_ids,
|
| + if (!GetOrCreateV8Value(context,
|
| + child_var,
|
| + &child_v8,
|
| + &did_create,
|
| + &visited_ids,
|
| + &parent_ids,
|
| resource_converter_.get())) {
|
| return false;
|
| }
|
| if (did_create && CanHaveChildren(child_var))
|
| stack.push(child_var);
|
| v8::TryCatch try_catch;
|
| - v8_object->Set(v8::String::NewFromUtf8(isolate,
|
| - key.c_str(),
|
| - v8::String::kNormalString,
|
| - key.length()),
|
| - child_v8);
|
| + v8_object->Set(
|
| + v8::String::NewFromUtf8(
|
| + isolate, key.c_str(), v8::String::kNormalString, key.length()),
|
| + child_v8);
|
| if (try_catch.HasCaught()) {
|
| LOG(ERROR) << "Setter for property " << key.c_str() << " threw an "
|
| - << "exception.";
|
| + << "exception.";
|
| return false;
|
| }
|
| }
|
| @@ -423,10 +424,15 @@ void V8VarConverter::FromV8Value(
|
| }
|
|
|
| bool did_create = false;
|
| - if (!GetOrCreateVar(current_v8, context, ¤t_var, &did_create,
|
| - &visited_handles, &parent_handles,
|
| + if (!GetOrCreateVar(current_v8,
|
| + context,
|
| + ¤t_var,
|
| + &did_create,
|
| + &visited_handles,
|
| + &parent_handles,
|
| resource_converter_.get())) {
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -445,7 +451,8 @@ void V8VarConverter::FromV8Value(
|
| ArrayVar* array_var = ArrayVar::FromPPVar(current_var);
|
| if (!array_var) {
|
| NOTREACHED();
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -454,7 +461,8 @@ void V8VarConverter::FromV8Value(
|
| v8::TryCatch try_catch;
|
| v8::Handle<v8::Value> child_v8 = v8_array->Get(i);
|
| if (try_catch.HasCaught()) {
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -463,10 +471,15 @@ void V8VarConverter::FromV8Value(
|
| continue;
|
|
|
| PP_Var child_var;
|
| - if (!GetOrCreateVar(child_v8, context, &child_var, &did_create,
|
| - &visited_handles, &parent_handles,
|
| + if (!GetOrCreateVar(child_v8,
|
| + context,
|
| + &child_var,
|
| + &did_create,
|
| + &visited_handles,
|
| + &parent_handles,
|
| resource_converter_.get())) {
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -483,7 +496,8 @@ void V8VarConverter::FromV8Value(
|
| DictionaryVar* dict_var = DictionaryVar::FromPPVar(current_var);
|
| if (!dict_var) {
|
| NOTREACHED();
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -494,9 +508,11 @@ void V8VarConverter::FromV8Value(
|
|
|
| // Extend this test to cover more types as necessary and if sensible.
|
| if (!key->IsString() && !key->IsNumber()) {
|
| - NOTREACHED() << "Key \"" << *v8::String::Utf8Value(key) << "\" "
|
| + NOTREACHED() << "Key \"" << *v8::String::Utf8Value(key)
|
| + << "\" "
|
| "is neither a string nor a number";
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
| @@ -510,16 +526,22 @@ void V8VarConverter::FromV8Value(
|
| v8::TryCatch try_catch;
|
| v8::Handle<v8::Value> child_v8 = v8_object->Get(key);
|
| if (try_catch.HasCaught()) {
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
|
|
| PP_Var child_var;
|
| - if (!GetOrCreateVar(child_v8, context, &child_var, &did_create,
|
| - &visited_handles, &parent_handles,
|
| + if (!GetOrCreateVar(child_v8,
|
| + context,
|
| + &child_var,
|
| + &did_create,
|
| + &visited_handles,
|
| + &parent_handles,
|
| resource_converter_.get())) {
|
| - message_loop_proxy_->PostTask(FROM_HERE,
|
| + message_loop_proxy_->PostTask(
|
| + FROM_HERE,
|
| base::Bind(callback, ScopedPPVar(PP_MakeUndefined()), false));
|
| return;
|
| }
|
|
|