Index: test/inspector/inspector-impl.cc |
diff --git a/test/inspector/inspector-impl.cc b/test/inspector/inspector-impl.cc |
index 408f47529227e42eee5af6c5949e1e921eb25046..16048f1f259dfcfe6c47243da06c37c0a61dac31 100644 |
--- a/test/inspector/inspector-impl.cc |
+++ b/test/inspector/inspector-impl.cc |
@@ -117,7 +117,7 @@ class ConnectTask : public TaskRunner::Task { |
private: |
void Run() override { |
v8::HandleScope handle_scope(isolate()); |
- client_->connect(default_context()); |
+ client_->connect(); |
if (ready_semaphore_) ready_semaphore_->Signal(); |
} |
@@ -150,7 +150,7 @@ class DisconnectTask : public TaskRunner::Task { |
class CreateContextGroupTask : public TaskRunner::Task { |
public: |
CreateContextGroupTask(InspectorClientImpl* client, |
- TaskRunner::SetupGlobalTasks setup_global_tasks, |
+ IsolateData::SetupGlobalTasks setup_global_tasks, |
v8::base::Semaphore* ready_semaphore, |
int* context_group_id) |
: client_(client), |
@@ -168,7 +168,7 @@ class CreateContextGroupTask : public TaskRunner::Task { |
} |
InspectorClientImpl* client_; |
- TaskRunner::SetupGlobalTasks setup_global_tasks_; |
+ IsolateData::SetupGlobalTasks setup_global_tasks_; |
v8::base::Semaphore* ready_semaphore_; |
int* context_group_id_; |
}; |
@@ -184,40 +184,35 @@ InspectorClientImpl::InspectorClientImpl(TaskRunner* task_runner, |
InspectorClientImpl::~InspectorClientImpl() {} |
-void InspectorClientImpl::connect(v8::Local<v8::Context> context) { |
- isolate_ = context->GetIsolate(); |
+void InspectorClientImpl::connect() { |
+ isolate_ = task_runner_->data()->isolate(); |
isolate_->AddMessageListener(MessageHandler); |
channel_.reset(new ChannelImpl(frontend_channel_)); |
inspector_ = v8_inspector::V8Inspector::create(isolate_, this); |
if (states_.empty()) { |
- int context_group_id = TaskRunner::GetContextGroupId(context); |
- v8_inspector::StringView state; |
- sessions_[context_group_id] = |
- inspector_->connect(context_group_id, channel_.get(), state); |
- context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this); |
- v8_inspector::V8ContextInfo info(context, context_group_id, |
- v8_inspector::StringView()); |
- info.hasMemoryOnConsole = true; |
- inspector_->contextCreated(info); |
+ ConnectToContextGroup(task_runner_->default_context_group_id(), |
+ v8_inspector::StringView()); |
} else { |
- for (const auto& it : states_) { |
- int context_group_id = it.first; |
- v8::Local<v8::Context> context = |
- task_runner_->GetContext(context_group_id); |
- v8_inspector::StringView state = it.second->string(); |
- sessions_[context_group_id] = |
- inspector_->connect(context_group_id, channel_.get(), state); |
- context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this); |
- v8_inspector::V8ContextInfo info(context, context_group_id, |
- v8_inspector::StringView()); |
- info.hasMemoryOnConsole = true; |
- inspector_->contextCreated(info); |
- } |
+ for (const auto& it : states_) |
+ ConnectToContextGroup(it.first, it.second->string()); |
} |
states_.clear(); |
} |
+void InspectorClientImpl::ConnectToContextGroup( |
+ int context_group_id, v8_inspector::StringView state) { |
+ v8::Local<v8::Context> context = |
+ task_runner_->data()->GetContext(context_group_id); |
+ sessions_[context_group_id] = |
+ inspector_->connect(context_group_id, channel_.get(), state); |
+ context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this); |
+ v8_inspector::V8ContextInfo info(context, context_group_id, |
+ v8_inspector::StringView()); |
+ info.hasMemoryOnConsole = true; |
+ inspector_->contextCreated(info); |
+} |
+ |
void InspectorClientImpl::scheduleReconnect( |
v8::base::Semaphore* ready_semaphore) { |
task_runner_->Append( |
@@ -240,19 +235,19 @@ void InspectorClientImpl::disconnect(bool reset_inspector) { |
} |
void InspectorClientImpl::scheduleCreateContextGroup( |
- TaskRunner::SetupGlobalTasks setup_global_tasks, |
+ IsolateData::SetupGlobalTasks setup_global_tasks, |
v8::base::Semaphore* ready_semaphore, int* context_group_id) { |
task_runner_->Append(new CreateContextGroupTask( |
this, std::move(setup_global_tasks), ready_semaphore, context_group_id)); |
} |
int InspectorClientImpl::createContextGroup( |
- const TaskRunner::SetupGlobalTasks& setup_global_tasks) { |
+ const IsolateData::SetupGlobalTasks& setup_global_tasks) { |
v8::HandleScope handle_scope(isolate_); |
+ int context_group_id = task_runner_->data()->CreateContextGroup(); |
v8::Local<v8::Context> context = |
- task_runner_->NewContextGroup(setup_global_tasks); |
+ task_runner_->data()->GetContext(context_group_id); |
context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this); |
- int context_group_id = TaskRunner::GetContextGroupId(context); |
v8_inspector::StringView state; |
sessions_[context_group_id] = |
inspector_->connect(context_group_id, channel_.get(), state); |
@@ -278,7 +273,7 @@ bool InspectorClientImpl::formatAccessorsAsProperties( |
v8::Local<v8::Context> InspectorClientImpl::ensureDefaultContextInGroup( |
int context_group_id) { |
CHECK(isolate_); |
- return task_runner_->GetContext(context_group_id); |
+ return task_runner_->data()->GetContext(context_group_id); |
} |
void InspectorClientImpl::setCurrentTimeMSForTest(double time) { |
@@ -335,8 +330,12 @@ v8_inspector::V8Inspector* InspectorClientImpl::InspectorFromContext( |
v8_inspector::V8InspectorSession* InspectorClientImpl::SessionFromContext( |
v8::Local<v8::Context> context) { |
- int context_group_id = TaskRunner::GetContextGroupId(context); |
- return InspectorClientFromContext(context)->sessions_[context_group_id].get(); |
+ InspectorClientImpl* client = InspectorClientFromContext(context); |
+ for (auto& it : client->sessions_) { |
+ if (client->task_runner_->data()->GetContext(it.first) == context) |
+ return it.second.get(); |
+ } |
+ return nullptr; |
} |
v8_inspector::V8InspectorSession* InspectorClientImpl::session( |