From 8a9776b227ef407ff04cd5352e4c91c7e469a517 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 30 Aug 2016 08:51:22 -0700 Subject: [PATCH] Move IsExternal check to FromV8ValueImpl --- atom/common/native_mate_converters/v8_value_converter.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/atom/common/native_mate_converters/v8_value_converter.cc b/atom/common/native_mate_converters/v8_value_converter.cc index 686e3e0e39dc..343b4a013b57 100644 --- a/atom/common/native_mate_converters/v8_value_converter.cc +++ b/atom/common/native_mate_converters/v8_value_converter.cc @@ -262,6 +262,9 @@ base::Value* V8ValueConverter::FromV8ValueImpl( if (state->HasReachedMaxRecursionDepth()) return nullptr; + if (val->IsExternal()) + return base::Value::CreateNullValue().release(); + if (val->IsNull()) return base::Value::CreateNullValue().release(); @@ -415,11 +418,6 @@ base::Value* V8ValueConverter::FromV8Object( child_v8 = v8::Null(isolate); } - // Ignore external values since calling CreationContext() on them can - // crash - if (child_v8->IsExternal()) - continue; - std::unique_ptr child( FromV8ValueImpl(state, child_v8, isolate)); if (!child.get())