diff options
Diffstat (limited to 'deps/v8/src/inspector/v8-console.cc')
-rw-r--r-- | deps/v8/src/inspector/v8-console.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/deps/v8/src/inspector/v8-console.cc b/deps/v8/src/inspector/v8-console.cc index fee61177e7..3b47d2f6b4 100644 --- a/deps/v8/src/inspector/v8-console.cc +++ b/deps/v8/src/inspector/v8-console.cc @@ -714,6 +714,29 @@ v8::Local<v8::Object> V8Console::createConsole( createBoundFunctionProperty(context, console, "timeStamp", V8Console::timeStampCallback); + const char* jsConsoleAssert = + "(function(){\n" + " var originAssert = this.assert;\n" + " originAssert.apply = Function.prototype.apply;\n" + " this.assert = assertWrapper;\n" + " assertWrapper.toString = () => originAssert.toString();\n" + " function assertWrapper(){\n" + " if (!!arguments[0]) return;\n" + " originAssert.apply(null, arguments);\n" + " }\n" + "})"; + + v8::Local<v8::String> assertSource = toV8String(isolate, jsConsoleAssert); + V8InspectorImpl* inspector = inspectedContext->inspector(); + v8::Local<v8::Value> setupFunction; + if (inspector->compileAndRunInternalScript(context, assertSource) + .ToLocal(&setupFunction) && + setupFunction->IsFunction()) { + inspector->callInternalFunction( + v8::Local<v8::Function>::Cast(setupFunction), context, console, 0, + nullptr); + } + if (hasMemoryAttribute) console->SetAccessorProperty( toV8StringInternalized(isolate, "memory"), |