| Index: test/inspector/inspector-impl.cc
 | 
| diff --git a/test/inspector/inspector-impl.cc b/test/inspector/inspector-impl.cc
 | 
| index c89ab1a0751cfbecc159ea6c07c01a6e8fdcf670..0bd94d5d70ccd5e7e2ac57fea6b96bfc2eb1e186 100644
 | 
| --- a/test/inspector/inspector-impl.cc
 | 
| +++ b/test/inspector/inspector-impl.cc
 | 
| @@ -85,6 +85,25 @@ void MessageHandler(v8::Local<v8::Message> message,
 | 
|                               inspector->createStackTrace(stack), script_id);
 | 
|  }
 | 
|  
 | 
| +v8::Local<v8::String> ToString(v8::Isolate* isolate,
 | 
| +                               const v8_inspector::StringView& string) {
 | 
| +  if (string.is8Bit())
 | 
| +    return v8::String::NewFromOneByte(isolate, string.characters8(),
 | 
| +                                      v8::NewStringType::kNormal,
 | 
| +                                      static_cast<int>(string.length()))
 | 
| +        .ToLocalChecked();
 | 
| +  else
 | 
| +    return v8::String::NewFromTwoByte(isolate, string.characters16(),
 | 
| +                                      v8::NewStringType::kNormal,
 | 
| +                                      static_cast<int>(string.length()))
 | 
| +        .ToLocalChecked();
 | 
| +}
 | 
| +
 | 
| +void Print(v8::Isolate* isolate, const v8_inspector::StringView& string) {
 | 
| +  v8::Local<v8::String> v8_string = ToString(isolate, string);
 | 
| +  v8::String::Utf8Value utf8_string(v8_string);
 | 
| +  fwrite(*utf8_string, sizeof(**utf8_string), utf8_string.length(), stdout);
 | 
| +}
 | 
|  }  //  namespace
 | 
|  
 | 
|  class ConnectTask : public TaskRunner::Task {
 | 
| @@ -265,6 +284,10 @@ void InspectorClientImpl::setMemoryInfoForTest(
 | 
|    memory_info_.Reset(isolate_, memory_info);
 | 
|  }
 | 
|  
 | 
| +void InspectorClientImpl::setLogConsoleApiMessageCalls(bool log) {
 | 
| +  log_console_api_message_calls_ = log;
 | 
| +}
 | 
| +
 | 
|  v8::MaybeLocal<v8::Value> InspectorClientImpl::memoryInfo(
 | 
|      v8::Isolate* isolate, v8::Local<v8::Context>) {
 | 
|    if (memory_info_.IsEmpty()) return v8::MaybeLocal<v8::Value>();
 | 
| @@ -279,6 +302,20 @@ void InspectorClientImpl::quitMessageLoopOnPause() {
 | 
|    task_runner_->QuitMessageLoop();
 | 
|  }
 | 
|  
 | 
| +void InspectorClientImpl::consoleAPIMessage(
 | 
| +    int contextGroupId, v8::Isolate::MessageErrorLevel level,
 | 
| +    const v8_inspector::StringView& message,
 | 
| +    const v8_inspector::StringView& url, unsigned lineNumber,
 | 
| +    unsigned columnNumber, v8_inspector::V8StackTrace* stack) {
 | 
| +  if (!log_console_api_message_calls_) return;
 | 
| +  Print(isolate_, message);
 | 
| +  fprintf(stdout, " (");
 | 
| +  Print(isolate_, url);
 | 
| +  fprintf(stdout, ":%d:%d)", lineNumber, columnNumber);
 | 
| +  Print(isolate_, stack->toString()->string());
 | 
| +  fprintf(stdout, "\n");
 | 
| +}
 | 
| +
 | 
|  v8_inspector::V8Inspector* InspectorClientImpl::InspectorFromContext(
 | 
|      v8::Local<v8::Context> context) {
 | 
|    return InspectorClientFromContext(context)->inspector_.get();
 | 
| 
 |