Browse Source

inspector: use new inspector headers

PR-URL: https://github.com/nodejs/node/pull/8150
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
v7.x
Eugene Ostroukhov 8 years ago
committed by Ali Ijaz Sheikh
parent
commit
1b8accfdd6
  1. 31
      src/inspector_agent.cc

31
src/inspector_agent.cc

@ -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…
Cancel
Save