Chromium Code Reviews| Index: content/renderer/pepper/message_channel.cc |
| diff --git a/content/renderer/pepper/message_channel.cc b/content/renderer/pepper/message_channel.cc |
| index 12d24baeda28d561f18ca7ce2ff2285f34b6b880..ebacc632aee96e6d8c99b5eb8670d371e84612b7 100644 |
| --- a/content/renderer/pepper/message_channel.cc |
| +++ b/content/renderer/pepper/message_channel.cc |
| @@ -294,12 +294,18 @@ void MessageChannel::EnqueuePluginMessage(const NPVariant* variant) { |
| // won't result in a deep copy. |
| v8::Handle<v8::Value> v8_value = WebBindings::toV8Value(variant); |
| V8VarConverter v8_var_converter(instance_->pp_instance()); |
| - v8_var_converter.FromV8Value( |
| - v8_value, |
| - v8::Isolate::GetCurrent()->GetCurrentContext(), |
| - base::Bind(&MessageChannel::FromV8ValueComplete, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - &plugin_message_queue_.back())); |
| + V8VarConverter::VarConversionResult conversion_result = |
|
dmichael (off chromium)
2014/06/13 17:24:48
Being nested, maybe it would be enough to call it
raymes
2014/06/16 02:59:25
Done. Well caught - I didn't notice the local clas
|
| + v8_var_converter.FromV8Value( |
| + v8_value, |
| + v8::Isolate::GetCurrent()->GetCurrentContext(), |
| + base::Bind(&MessageChannel::FromV8ValueComplete, |
| + weak_ptr_factory_.GetWeakPtr(), |
| + &plugin_message_queue_.back())); |
| + if (conversion_result.completed_synchronously) { |
| + plugin_message_queue_.back().ConversionCompleted( |
| + conversion_result.var, |
| + conversion_result.success); |
| + } |
| } else { |
| plugin_message_queue_.back().ConversionCompleted( |
| ScopedPPVar(ScopedPPVar::PassRef(), |