Index: extensions/renderer/api_activity_logger.cc |
diff --git a/extensions/renderer/api_activity_logger.cc b/extensions/renderer/api_activity_logger.cc |
index 826abb0c89daee41eecd0261a1a62fd68d8ecafb..f0964f377c446e8fca7f16ab87ab92b6ea527e16 100644 |
--- a/extensions/renderer/api_activity_logger.cc |
+++ b/extensions/renderer/api_activity_logger.cc |
@@ -59,11 +59,12 @@ void APIActivityLogger::LogInternal( |
converter->SetFunctionAllowed(true); |
converter->SetStrategy(&strategy); |
scoped_ptr<base::ListValue> arg_list(new base::ListValue()); |
- for (size_t i = 0; i < arg_array->Length(); ++i) { |
- arg_list->Set( |
- i, |
- converter->FromV8Value(arg_array->Get(i), |
- args.GetIsolate()->GetCurrentContext())); |
+ v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); |
+ for (uint32_t i = 0; i < arg_array->Length(); ++i) { |
+ v8::Local<v8::Value> property; |
+ if (!arg_array->Get(context, i).ToLocal(&property)) |
+ return; |
+ arg_list->Set(i, converter->FromV8Value(property, context)); |
} |
params.arguments.Swap(arg_list.get()); |
} |