Commit bcedfb02 authored by kozyatinskiy's avatar kozyatinskiy Committed by Commit bot

[inspector] don't truncate [[Entries]] from Runtime.getProperties

BUG=chromium:650729
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2373753003
Cr-Commit-Position: refs/heads/master@{#39843}
parent 622bb78d
...@@ -791,16 +791,30 @@ v8::Local<v8::Value> V8Debugger::collectionEntries( ...@@ -791,16 +791,30 @@ v8::Local<v8::Value> V8Debugger::collectionEntries(
v8::Local<v8::Value> argv[] = {object}; v8::Local<v8::Value> argv[] = {object};
v8::Local<v8::Value> entriesValue = v8::Local<v8::Value> entriesValue =
callDebuggerMethod("getCollectionEntries", 1, argv).ToLocalChecked(); callDebuggerMethod("getCollectionEntries", 1, argv).ToLocalChecked();
if (!entriesValue->IsArray()) return v8::Undefined(m_isolate);
v8::Local<v8::Array> entries = entriesValue.As<v8::Array>();
v8::Local<v8::Array> copiedArray =
v8::Array::New(m_isolate, entries->Length());
if (!copiedArray->SetPrototype(context, v8::Null(m_isolate)).FromMaybe(false))
return v8::Undefined(m_isolate);
for (uint32_t i = 0; i < entries->Length(); ++i) {
v8::Local<v8::Value> item;
if (!entries->Get(debuggerContext(), i).ToLocal(&item))
return v8::Undefined(m_isolate);
v8::Local<v8::Value> copied; v8::Local<v8::Value> copied;
if (!copyValueFromDebuggerContext(m_isolate, debuggerContext(), context, if (!copyValueFromDebuggerContext(m_isolate, debuggerContext(), context,
entriesValue) item)
.ToLocal(&copied) || .ToLocal(&copied))
!copied->IsArray())
return v8::Undefined(m_isolate); return v8::Undefined(m_isolate);
if (!markArrayEntriesAsInternal(context, v8::Local<v8::Array>::Cast(copied), if (!createDataProperty(context, copiedArray, i, copied).FromMaybe(false))
return v8::Undefined(m_isolate);
}
if (!markArrayEntriesAsInternal(context,
v8::Local<v8::Array>::Cast(copiedArray),
V8InternalValueType::kEntry)) V8InternalValueType::kEntry))
return v8::Undefined(m_isolate); return v8::Undefined(m_isolate);
return copied; return copiedArray;
} }
v8::Local<v8::Value> V8Debugger::generatorObjectLocation( v8::Local<v8::Value> V8Debugger::generatorObjectLocation(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment