Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: test/inspector/inspector-impl.cc

Issue 2832723004: [test/inspector] remove any usage of v8::Extension (Closed)
Patch Set: ac Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "test/inspector/inspector-impl.h" 5 #include "test/inspector/inspector-impl.h"
6 6
7 #include "include/v8.h" 7 #include "include/v8.h"
8 8
9 #include "src/vector.h" 9 #include "src/vector.h"
10 10
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 client_->disconnect(); 139 client_->disconnect();
140 } 140 }
141 141
142 private: 142 private:
143 InspectorClientImpl* client_; 143 InspectorClientImpl* client_;
144 }; 144 };
145 145
146 class CreateContextGroupTask : public TaskRunner::Task { 146 class CreateContextGroupTask : public TaskRunner::Task {
147 public: 147 public:
148 CreateContextGroupTask(InspectorClientImpl* client, 148 CreateContextGroupTask(InspectorClientImpl* client,
149 v8::ExtensionConfiguration* extensions, 149 TaskRunner::SetupGlobalTasks setup_global_tasks,
150 v8::base::Semaphore* ready_semaphore, 150 v8::base::Semaphore* ready_semaphore,
151 int* context_group_id) 151 int* context_group_id)
152 : client_(client), 152 : client_(client),
153 extensions_(extensions), 153 setup_global_tasks_(std::move(setup_global_tasks)),
154 ready_semaphore_(ready_semaphore), 154 ready_semaphore_(ready_semaphore),
155 context_group_id_(context_group_id) {} 155 context_group_id_(context_group_id) {}
156 virtual ~CreateContextGroupTask() = default; 156 virtual ~CreateContextGroupTask() = default;
157 157
158 bool is_inspector_task() final { return true; } 158 bool is_inspector_task() final { return true; }
159 159
160 void Run(v8::Isolate* isolate, 160 void Run(v8::Isolate* isolate,
161 const v8::Global<v8::Context>& global_context) { 161 const v8::Global<v8::Context>& global_context) {
162 *context_group_id_ = client_->createContextGroup(extensions_); 162 *context_group_id_ = client_->createContextGroup(setup_global_tasks_);
163 if (ready_semaphore_) ready_semaphore_->Signal(); 163 if (ready_semaphore_) ready_semaphore_->Signal();
164 } 164 }
165 165
166 private: 166 private:
167 InspectorClientImpl* client_; 167 InspectorClientImpl* client_;
168 v8::ExtensionConfiguration* extensions_; 168 TaskRunner::SetupGlobalTasks setup_global_tasks_;
169 v8::base::Semaphore* ready_semaphore_; 169 v8::base::Semaphore* ready_semaphore_;
170 int* context_group_id_; 170 int* context_group_id_;
171 }; 171 };
172 172
173 InspectorClientImpl::InspectorClientImpl(TaskRunner* task_runner, 173 InspectorClientImpl::InspectorClientImpl(TaskRunner* task_runner,
174 FrontendChannel* frontend_channel, 174 FrontendChannel* frontend_channel,
175 v8::base::Semaphore* ready_semaphore) 175 v8::base::Semaphore* ready_semaphore)
176 : isolate_(nullptr), 176 : isolate_(nullptr),
177 task_runner_(task_runner), 177 task_runner_(task_runner),
178 frontend_channel_(frontend_channel) { 178 frontend_channel_(frontend_channel) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 void InspectorClientImpl::disconnect() { 224 void InspectorClientImpl::disconnect() {
225 for (const auto& it : sessions_) { 225 for (const auto& it : sessions_) {
226 states_[it.first] = it.second->stateJSON(); 226 states_[it.first] = it.second->stateJSON();
227 } 227 }
228 sessions_.clear(); 228 sessions_.clear();
229 inspector_.reset(); 229 inspector_.reset();
230 } 230 }
231 231
232 void InspectorClientImpl::scheduleCreateContextGroup( 232 void InspectorClientImpl::scheduleCreateContextGroup(
233 v8::ExtensionConfiguration* extensions, 233 TaskRunner::SetupGlobalTasks setup_global_tasks,
234 v8::base::Semaphore* ready_semaphore, int* context_group_id) { 234 v8::base::Semaphore* ready_semaphore, int* context_group_id) {
235 task_runner_->Append(new CreateContextGroupTask( 235 task_runner_->Append(new CreateContextGroupTask(
236 this, extensions, ready_semaphore, context_group_id)); 236 this, std::move(setup_global_tasks), ready_semaphore, context_group_id));
237 } 237 }
238 238
239 int InspectorClientImpl::createContextGroup( 239 int InspectorClientImpl::createContextGroup(
240 v8::ExtensionConfiguration* extensions) { 240 const TaskRunner::SetupGlobalTasks& setup_global_tasks) {
241 v8::HandleScope handle_scope(isolate_); 241 v8::HandleScope handle_scope(isolate_);
242 v8::Local<v8::Context> context = task_runner_->NewContextGroup(); 242 v8::Local<v8::Context> context =
243 task_runner_->NewContextGroup(setup_global_tasks);
243 context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this); 244 context->SetAlignedPointerInEmbedderData(kInspectorClientIndex, this);
244 int context_group_id = TaskRunner::GetContextGroupId(context); 245 int context_group_id = TaskRunner::GetContextGroupId(context);
245 v8_inspector::StringView state; 246 v8_inspector::StringView state;
246 sessions_[context_group_id] = 247 sessions_[context_group_id] =
247 inspector_->connect(context_group_id, channel_.get(), state); 248 inspector_->connect(context_group_id, channel_.get(), state);
248 inspector_->contextCreated(v8_inspector::V8ContextInfo( 249 inspector_->contextCreated(v8_inspector::V8ContextInfo(
249 context, context_group_id, v8_inspector::StringView())); 250 context, context_group_id, v8_inspector::StringView()));
250 return context_group_id; 251 return context_group_id;
251 } 252 }
252 253
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 session->dispatchProtocolMessage(message_view); 365 session->dispatchProtocolMessage(message_view);
365 } 366 }
366 367
367 private: 368 private:
368 v8::internal::Vector<uint16_t> message_; 369 v8::internal::Vector<uint16_t> message_;
369 int context_group_id_; 370 int context_group_id_;
370 }; 371 };
371 372
372 TaskRunner* SendMessageToBackendExtension::backend_task_runner_ = nullptr; 373 TaskRunner* SendMessageToBackendExtension::backend_task_runner_ = nullptr;
373 374
374 v8::Local<v8::FunctionTemplate> 375 void SendMessageToBackendExtension::Run(v8::Isolate* isolate,
375 SendMessageToBackendExtension::GetNativeFunctionTemplate( 376 v8::Local<v8::ObjectTemplate> global) {
376 v8::Isolate* isolate, v8::Local<v8::String> name) { 377 global->Set(
377 return v8::FunctionTemplate::New( 378 v8::String::NewFromUtf8(isolate, "sendMessageToBackend",
378 isolate, SendMessageToBackendExtension::SendMessageToBackend); 379 v8::NewStringType::kNormal)
380 .ToLocalChecked(),
381 v8::FunctionTemplate::New(
382 isolate, &SendMessageToBackendExtension::SendMessageToBackend));
379 } 383 }
380 384
381 void SendMessageToBackendExtension::SendMessageToBackend( 385 void SendMessageToBackendExtension::SendMessageToBackend(
382 const v8::FunctionCallbackInfo<v8::Value>& args) { 386 const v8::FunctionCallbackInfo<v8::Value>& args) {
383 CHECK(backend_task_runner_); 387 CHECK(backend_task_runner_);
384 CHECK(args.Length() == 2 && args[0]->IsString() && args[1]->IsInt32()); 388 CHECK(args.Length() == 2 && args[0]->IsString() && args[1]->IsInt32());
385 v8::Local<v8::String> message = args[0].As<v8::String>(); 389 v8::Local<v8::String> message = args[0].As<v8::String>();
386 backend_task_runner_->Append(new SendMessageToBackendTask( 390 backend_task_runner_->Append(new SendMessageToBackendTask(
387 ToVector(message), args[1].As<v8::Int32>()->Value())); 391 ToVector(message), args[1].As<v8::Int32>()->Value()));
388 } 392 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698