| Index: third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
|
| diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
|
| index e7f9bed382349bc0b32e6472c52243f76e168f2c..4f22289247ef09d56bb4378ed1934a06a6181f6e 100644
|
| --- a/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
|
| +++ b/third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp
|
| @@ -46,7 +46,6 @@ v8::Local<v8::Object> V8InjectedScriptHost::create(v8::Local<v8::Context> contex
|
| setFunctionProperty(context, injectedScriptHost, "formatAccessorsAsProperties", V8InjectedScriptHost::formatAccessorsAsProperties, debuggerExternal);
|
| setFunctionProperty(context, injectedScriptHost, "isTypedArray", V8InjectedScriptHost::isTypedArrayCallback, debuggerExternal);
|
| setFunctionProperty(context, injectedScriptHost, "subtype", V8InjectedScriptHost::subtypeCallback, debuggerExternal);
|
| - setFunctionProperty(context, injectedScriptHost, "collectionEntries", V8InjectedScriptHost::collectionEntriesCallback, debuggerExternal);
|
| setFunctionProperty(context, injectedScriptHost, "getInternalProperties", V8InjectedScriptHost::getInternalPropertiesCallback, debuggerExternal);
|
| setFunctionProperty(context, injectedScriptHost, "suppressWarningsAndCallFunction", V8InjectedScriptHost::suppressWarningsAndCallFunctionCallback, debuggerExternal);
|
| setFunctionProperty(context, injectedScriptHost, "bind", V8InjectedScriptHost::bindCallback, debuggerExternal);
|
| @@ -55,6 +54,11 @@ v8::Local<v8::Object> V8InjectedScriptHost::create(v8::Local<v8::Context> contex
|
| return injectedScriptHost;
|
| }
|
|
|
| +v8::Local<v8::Private> V8InjectedScriptHost::internalEntryPrivate(v8::Isolate* isolate)
|
| +{
|
| + return v8::Private::ForApi(isolate, toV8StringInternalized(isolate, "V8InjectedScriptHost#internalEntry"));
|
| +}
|
| +
|
| void V8InjectedScriptHost::internalConstructorNameCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| {
|
| if (info.Length() < 1 || !info[0]->IsObject())
|
| @@ -127,6 +131,13 @@ void V8InjectedScriptHost::subtypeCallback(const v8::FunctionCallbackInfo<v8::Va
|
| info.GetReturnValue().Set(toV8StringInternalized(isolate, "proxy"));
|
| return;
|
| }
|
| + if (value->IsObject()) {
|
| + v8::Local<v8::Object> obj = value.As<v8::Object>();
|
| + if (obj->HasPrivate(isolate->GetCurrentContext(), internalEntryPrivate(isolate)).FromMaybe(false)) {
|
| + info.GetReturnValue().Set(toV8StringInternalized(isolate, "internal#entry"));
|
| + return;
|
| + }
|
| + }
|
| String16 subtype = unwrapDebugger(info)->client()->valueSubtype(value);
|
| if (!subtype.isEmpty()) {
|
| info.GetReturnValue().Set(toV8String(isolate, subtype));
|
| @@ -134,23 +145,12 @@ void V8InjectedScriptHost::subtypeCallback(const v8::FunctionCallbackInfo<v8::Va
|
| }
|
| }
|
|
|
| -void V8InjectedScriptHost::collectionEntriesCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| -{
|
| - if (info.Length() < 1 || !info[0]->IsObject())
|
| - return;
|
| -
|
| - v8::Local<v8::Object> object = info[0].As<v8::Object>();
|
| - info.GetReturnValue().Set(unwrapDebugger(info)->collectionEntries(object));
|
| -}
|
| -
|
| void V8InjectedScriptHost::getInternalPropertiesCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| {
|
| - if (info.Length() < 1 || !info[0]->IsObject())
|
| + if (info.Length() < 1)
|
| return;
|
| -
|
| - v8::Local<v8::Object> object = info[0].As<v8::Object>();
|
| v8::Local<v8::Array> properties;
|
| - if (v8::Debug::GetInternalProperties(info.GetIsolate(), object).ToLocal(&properties))
|
| + if (unwrapDebugger(info)->internalProperties(info.GetIsolate()->GetCurrentContext(), info[0]).ToLocal(&properties))
|
| info.GetReturnValue().Set(properties);
|
| }
|
|
|
|
|