inspector: use new inspector headers
PR-URL: https://github.com/nodejs/node/pull/8150 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
parent
61faabd938
commit
1b8accfdd6
@ -14,9 +14,7 @@
|
|||||||
#include "platform/v8_inspector/public/V8InspectorClient.h"
|
#include "platform/v8_inspector/public/V8InspectorClient.h"
|
||||||
#include "platform/v8_inspector/public/V8InspectorSession.h"
|
#include "platform/v8_inspector/public/V8InspectorSession.h"
|
||||||
#include "platform/v8_inspector/public/V8StackTrace.h"
|
#include "platform/v8_inspector/public/V8StackTrace.h"
|
||||||
#include "platform/inspector_protocol/FrontendChannel.h"
|
#include "platform/inspector_protocol/InspectorProtocol.h"
|
||||||
#include "platform/inspector_protocol/String16.h"
|
|
||||||
#include "platform/inspector_protocol/Values.h"
|
|
||||||
|
|
||||||
#include "libplatform/libplatform.h"
|
#include "libplatform/libplatform.h"
|
||||||
|
|
||||||
@ -196,7 +194,6 @@ class AgentImpl {
|
|||||||
void OnInspectorConnectionIO(inspector_socket_t* socket);
|
void OnInspectorConnectionIO(inspector_socket_t* socket);
|
||||||
void OnRemoteDataIO(inspector_socket_t* stream, ssize_t read,
|
void OnRemoteDataIO(inspector_socket_t* stream, ssize_t read,
|
||||||
const uv_buf_t* b);
|
const uv_buf_t* b);
|
||||||
void PostMessages();
|
|
||||||
void SetConnected(bool connected);
|
void SetConnected(bool connected);
|
||||||
void DispatchMessages();
|
void DispatchMessages();
|
||||||
void Write(int session_id, const String16& message);
|
void Write(int session_id, const String16& message);
|
||||||
@ -285,7 +282,9 @@ class ChannelImpl final : public blink::protocol::FrontendChannel {
|
|||||||
// Used in V8NodeInspector::currentTimeMS() below.
|
// Used in V8NodeInspector::currentTimeMS() below.
|
||||||
#define NANOS_PER_MSEC 1000000
|
#define NANOS_PER_MSEC 1000000
|
||||||
|
|
||||||
class V8NodeInspector : public blink::V8InspectorClient {
|
using V8Inspector = v8_inspector::V8Inspector;
|
||||||
|
|
||||||
|
class V8NodeInspector : public v8_inspector::V8InspectorClient {
|
||||||
public:
|
public:
|
||||||
V8NodeInspector(AgentImpl* agent, node::Environment* env,
|
V8NodeInspector(AgentImpl* agent, node::Environment* env,
|
||||||
v8::Platform* platform)
|
v8::Platform* platform)
|
||||||
@ -294,10 +293,9 @@ class V8NodeInspector : public blink::V8InspectorClient {
|
|||||||
platform_(platform),
|
platform_(platform),
|
||||||
terminated_(false),
|
terminated_(false),
|
||||||
running_nested_loop_(false),
|
running_nested_loop_(false),
|
||||||
inspector_(
|
inspector_(V8Inspector::create(env->isolate(), this)) {
|
||||||
blink::V8Inspector::create(env->isolate(), this)) {
|
|
||||||
inspector_->contextCreated(
|
inspector_->contextCreated(
|
||||||
blink::V8ContextInfo(env->context(), 1, "NodeJS Main Context"));
|
v8_inspector::V8ContextInfo(env->context(), 1, "NodeJS Main Context"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void runMessageLoopOnPause(int context_group_id) override {
|
void runMessageLoopOnPause(int context_group_id) override {
|
||||||
@ -339,7 +337,7 @@ class V8NodeInspector : public blink::V8InspectorClient {
|
|||||||
session_->dispatchProtocolMessage(message);
|
session_->dispatchProtocolMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
blink::V8Inspector* inspector() {
|
V8Inspector* inspector() {
|
||||||
return inspector_.get();
|
return inspector_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,8 +347,8 @@ class V8NodeInspector : public blink::V8InspectorClient {
|
|||||||
v8::Platform* platform_;
|
v8::Platform* platform_;
|
||||||
bool terminated_;
|
bool terminated_;
|
||||||
bool running_nested_loop_;
|
bool running_nested_loop_;
|
||||||
std::unique_ptr<blink::V8Inspector> inspector_;
|
std::unique_ptr<V8Inspector> inspector_;
|
||||||
std::unique_ptr<blink::V8InspectorSession> session_;
|
std::unique_ptr<v8_inspector::V8InspectorSession> session_;
|
||||||
};
|
};
|
||||||
|
|
||||||
AgentImpl::AgentImpl(Environment* env) : port_(0),
|
AgentImpl::AgentImpl(Environment* env) : port_(0),
|
||||||
@ -417,10 +415,10 @@ void InspectorConsoleCall(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
v8::TryCatch try_catch(info.GetIsolate());
|
v8::TryCatch try_catch(info.GetIsolate());
|
||||||
node_method.As<v8::Function>()->Call(context,
|
static_cast<void>(node_method.As<v8::Function>()->Call(context,
|
||||||
info.Holder(),
|
info.Holder(),
|
||||||
call_args.size(),
|
call_args.size(),
|
||||||
call_args.data());
|
call_args.data()));
|
||||||
CHECK(config_object->Delete(context, in_call_key).FromJust());
|
CHECK(config_object->Delete(context, in_call_key).FromJust());
|
||||||
if (try_catch.HasCaught())
|
if (try_catch.HasCaught())
|
||||||
try_catch.ReThrow();
|
try_catch.ReThrow();
|
||||||
@ -510,7 +508,7 @@ String16 ToProtocolString(v8::Local<v8::Value> value) {
|
|||||||
return String16();
|
return String16();
|
||||||
}
|
}
|
||||||
v8::Local<v8::String> string_value = v8::Local<v8::String>::Cast(value);
|
v8::Local<v8::String> string_value = v8::Local<v8::String>::Cast(value);
|
||||||
wstring buffer(string_value->Length(), '\0');
|
std::basic_string<uint16_t> buffer(string_value->Length(), '\0');
|
||||||
string_value->Write(&buffer[0], 0, string_value->Length());
|
string_value->Write(&buffer[0], 0, string_value->Length());
|
||||||
return String16(buffer);
|
return String16(buffer);
|
||||||
}
|
}
|
||||||
@ -523,7 +521,7 @@ void AgentImpl::FatalException(v8::Local<v8::Value> error,
|
|||||||
v8::Local<v8::Context> context = env->context();
|
v8::Local<v8::Context> context = env->context();
|
||||||
|
|
||||||
int script_id = message->GetScriptOrigin().ScriptID()->Value();
|
int script_id = message->GetScriptOrigin().ScriptID()->Value();
|
||||||
std::unique_ptr<blink::V8StackTrace> stack_trace =
|
std::unique_ptr<v8_inspector::V8StackTrace> stack_trace =
|
||||||
inspector_->inspector()->createStackTrace(message->GetStackTrace());
|
inspector_->inspector()->createStackTrace(message->GetStackTrace());
|
||||||
|
|
||||||
if (stack_trace && !stack_trace->isEmpty() &&
|
if (stack_trace && !stack_trace->isEmpty() &&
|
||||||
@ -592,7 +590,8 @@ void AgentImpl::OnRemoteDataIO(inspector_socket_t* socket,
|
|||||||
// engages, node should wait for the run callback from the remote client
|
// engages, node should wait for the run callback from the remote client
|
||||||
// and initiate its startup. This is a change to node.cc that should be
|
// and initiate its startup. This is a change to node.cc that should be
|
||||||
// upstreamed separately.
|
// upstreamed separately.
|
||||||
if (wait_ && str.find("\"Runtime.run\"") != std::string::npos) {
|
if (wait_&& str.find("\"Runtime.runIfWaitingForDebugger\"")
|
||||||
|
!= std::string::npos) {
|
||||||
wait_ = false;
|
wait_ = false;
|
||||||
uv_sem_post(&start_sem_);
|
uv_sem_post(&start_sem_);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user