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

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

Issue 2737603006: [inspector] added createContextGroup for tests (Closed)
Patch Set: Created 3 years, 9 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 #if !defined(_WIN32) && !defined(_WIN64) 5 #if !defined(_WIN32) && !defined(_WIN64)
6 #include <unistd.h> // NOLINT 6 #include <unistd.h> // NOLINT
7 #endif // !defined(_WIN32) && !defined(_WIN64) 7 #endif // !defined(_WIN32) && !defined(_WIN64)
8 8
9 #include <locale.h> 9 #include <locale.h>
10 10
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 : v8::Extension("v8_inspector/utils", 52 : v8::Extension("v8_inspector/utils",
53 "native function print();" 53 "native function print();"
54 "native function quit();" 54 "native function quit();"
55 "native function setlocale();" 55 "native function setlocale();"
56 "native function read();" 56 "native function read();"
57 "native function load();" 57 "native function load();"
58 "native function compileAndRunWithOrigin();" 58 "native function compileAndRunWithOrigin();"
59 "native function setCurrentTimeMSForTest();" 59 "native function setCurrentTimeMSForTest();"
60 "native function schedulePauseOnNextStatement();" 60 "native function schedulePauseOnNextStatement();"
61 "native function cancelPauseOnNextStatement();" 61 "native function cancelPauseOnNextStatement();"
62 "native function reconnect();") {} 62 "native function reconnect();"
63 "native function createContextGroup();") {}
63 virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate( 64 virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
64 v8::Isolate* isolate, v8::Local<v8::String> name) { 65 v8::Isolate* isolate, v8::Local<v8::String> name) {
65 v8::Local<v8::Context> context = isolate->GetCurrentContext(); 66 v8::Local<v8::Context> context = isolate->GetCurrentContext();
66 if (name->Equals(context, v8::String::NewFromUtf8( 67 if (name->Equals(context, v8::String::NewFromUtf8(
67 isolate, "print", v8::NewStringType::kNormal) 68 isolate, "print", v8::NewStringType::kNormal)
68 .ToLocalChecked()) 69 .ToLocalChecked())
69 .FromJust()) { 70 .FromJust()) {
70 return v8::FunctionTemplate::New(isolate, UtilsExtension::Print); 71 return v8::FunctionTemplate::New(isolate, UtilsExtension::Print);
71 } else if (name->Equals(context, 72 } else if (name->Equals(context,
72 v8::String::NewFromUtf8(isolate, "quit", 73 v8::String::NewFromUtf8(isolate, "quit",
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 .ToLocalChecked()) 121 .ToLocalChecked())
121 .FromJust()) { 122 .FromJust()) {
122 return v8::FunctionTemplate::New( 123 return v8::FunctionTemplate::New(
123 isolate, UtilsExtension::CancelPauseOnNextStatement); 124 isolate, UtilsExtension::CancelPauseOnNextStatement);
124 } else if (name->Equals(context, 125 } else if (name->Equals(context,
125 v8::String::NewFromUtf8(isolate, "reconnect", 126 v8::String::NewFromUtf8(isolate, "reconnect",
126 v8::NewStringType::kNormal) 127 v8::NewStringType::kNormal)
127 .ToLocalChecked()) 128 .ToLocalChecked())
128 .FromJust()) { 129 .FromJust()) {
129 return v8::FunctionTemplate::New(isolate, UtilsExtension::Reconnect); 130 return v8::FunctionTemplate::New(isolate, UtilsExtension::Reconnect);
131 } else if (name->Equals(context, v8::String::NewFromUtf8(
132 isolate, "createContextGroup",
133 v8::NewStringType::kNormal)
134 .ToLocalChecked())
135 .FromJust()) {
136 return v8::FunctionTemplate::New(isolate,
137 UtilsExtension::CreateContextGroup);
130 } 138 }
131 return v8::Local<v8::FunctionTemplate>(); 139 return v8::Local<v8::FunctionTemplate>();
132 } 140 }
133 141
134 static void set_backend_task_runner(TaskRunner* runner) { 142 static void set_backend_task_runner(TaskRunner* runner) {
135 backend_runner_ = runner; 143 backend_runner_ = runner;
136 } 144 }
137 145
138 static void set_inspector_client(InspectorClientImpl* client) { 146 static void set_inspector_client(InspectorClientImpl* client) {
139 inspector_client_ = client; 147 inspector_client_ = client;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 inspector_client_->session()->schedulePauseOnNextStatement(reason_view, 281 inspector_client_->session()->schedulePauseOnNextStatement(reason_view,
274 details_view); 282 details_view);
275 } 283 }
276 284
277 static void CancelPauseOnNextStatement( 285 static void CancelPauseOnNextStatement(
278 const v8::FunctionCallbackInfo<v8::Value>& args) { 286 const v8::FunctionCallbackInfo<v8::Value>& args) {
279 if (args.Length() != 0) { 287 if (args.Length() != 0) {
280 fprintf(stderr, "Internal error: cancelPauseOnNextStatement()."); 288 fprintf(stderr, "Internal error: cancelPauseOnNextStatement().");
281 Exit(); 289 Exit();
282 } 290 }
291 v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext();
283 inspector_client_->session()->cancelPauseOnNextStatement(); 292 inspector_client_->session()->cancelPauseOnNextStatement();
284 } 293 }
285 294
286 static void Reconnect(const v8::FunctionCallbackInfo<v8::Value>& args) { 295 static void Reconnect(const v8::FunctionCallbackInfo<v8::Value>& args) {
287 if (args.Length() != 0) { 296 if (args.Length() != 0) {
288 fprintf(stderr, "Internal error: reconnect()."); 297 fprintf(stderr, "Internal error: reconnect().");
289 Exit(); 298 Exit();
290 } 299 }
291 v8::base::Semaphore ready_semaphore(0); 300 v8::base::Semaphore ready_semaphore(0);
292 inspector_client_->scheduleReconnect(&ready_semaphore); 301 inspector_client_->scheduleReconnect(&ready_semaphore);
293 ready_semaphore.Wait(); 302 ready_semaphore.Wait();
294 } 303 }
304
305 static void CreateContextGroup(
306 const v8::FunctionCallbackInfo<v8::Value>& args) {
307 if (args.Length() != 0) {
308 fprintf(stderr, "Internal error: createContextGroup().");
309 Exit();
310 }
311 const char* backend_extensions[] = {"v8_inspector/setTimeout",
312 "v8_inspector/inspector"};
313 v8::ExtensionConfiguration backend_configuration(
314 arraysize(backend_extensions), backend_extensions);
315 v8::base::Semaphore ready_semaphore(0);
316 int context_group_id = 0;
317 inspector_client_->scheduleCreateContextGroup(
318 &backend_configuration, &ready_semaphore, &context_group_id);
319 ready_semaphore.Wait();
320 args.GetReturnValue().Set(
321 v8::Int32::New(args.GetIsolate(), context_group_id));
322 }
295 }; 323 };
296 324
297 TaskRunner* UtilsExtension::backend_runner_ = nullptr; 325 TaskRunner* UtilsExtension::backend_runner_ = nullptr;
298 InspectorClientImpl* UtilsExtension::inspector_client_ = nullptr; 326 InspectorClientImpl* UtilsExtension::inspector_client_ = nullptr;
299 327
300 class SetTimeoutTask : public AsyncTask { 328 class SetTimeoutTask : public AsyncTask {
301 public: 329 public:
302 SetTimeoutTask(v8::Isolate* isolate, v8::Local<v8::Function> function, 330 SetTimeoutTask(v8::Isolate* isolate, v8::Local<v8::Function> function,
303 const char* task_name, v8_inspector::V8Inspector* inspector) 331 const char* task_name, v8_inspector::V8Inspector* inspector)
304 : AsyncTask(task_name, inspector), function_(isolate, function) {} 332 : AsyncTask(task_name, inspector), function_(isolate, function) {}
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 argv[i]); 684 argv[i]);
657 Exit(); 685 Exit();
658 } 686 }
659 frontend_runner.Append(new ExecuteStringTask(chars)); 687 frontend_runner.Append(new ExecuteStringTask(chars));
660 } 688 }
661 689
662 frontend_runner.Join(); 690 frontend_runner.Join();
663 backend_runner.Join(); 691 backend_runner.Join();
664 return 0; 692 return 0;
665 } 693 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698