| Index: test/inspector/inspector-test.cc
|
| diff --git a/test/inspector/inspector-test.cc b/test/inspector/inspector-test.cc
|
| index 0368f85f1e6804a007c1f771dfa0ff7fba1cbd4e..a935717c9e6a49c416e45d3f9b58b70c2f6f4f41 100644
|
| --- a/test/inspector/inspector-test.cc
|
| +++ b/test/inspector/inspector-test.cc
|
| @@ -46,114 +46,58 @@ v8::internal::Vector<uint16_t> ToVector(v8::Local<v8::String> str) {
|
| return buffer;
|
| }
|
|
|
| -class UtilsExtension : public v8::Extension {
|
| +v8::Local<v8::String> ToV8String(v8::Isolate* isolate, const char* str) {
|
| + return v8::String::NewFromUtf8(isolate, str, v8::NewStringType::kNormal)
|
| + .ToLocalChecked();
|
| +}
|
| +
|
| +class UtilsExtension : public TaskRunner::Task {
|
| public:
|
| - UtilsExtension()
|
| - : v8::Extension("v8_inspector/utils",
|
| - "native function print();"
|
| - "native function quit();"
|
| - "native function setlocale();"
|
| - "native function read();"
|
| - "native function load();"
|
| - "native function compileAndRunWithOrigin();"
|
| - "native function setCurrentTimeMSForTest();"
|
| - "native function setMemoryInfoForTest();"
|
| - "native function schedulePauseOnNextStatement();"
|
| - "native function cancelPauseOnNextStatement();"
|
| - "native function reconnect();"
|
| - "native function setLogConsoleApiMessageCalls();"
|
| - "native function createContextGroup();") {}
|
| - virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
|
| - v8::Isolate* isolate, v8::Local<v8::String> name) {
|
| - v8::Local<v8::Context> context = isolate->GetCurrentContext();
|
| - if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "print", v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::Print);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(isolate, "quit",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::Quit);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(isolate, "setlocale",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::SetLocale);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(isolate, "read",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::Read);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(isolate, "load",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::Load);
|
| - } else if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "compileAndRunWithOrigin",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate,
|
| - UtilsExtension::CompileAndRunWithOrigin);
|
| - } else if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "setCurrentTimeMSForTest",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate,
|
| - UtilsExtension::SetCurrentTimeMSForTest);
|
| - } else if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "setMemoryInfoForTest",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate,
|
| - UtilsExtension::SetMemoryInfoForTest);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(
|
| - isolate, "schedulePauseOnNextStatement",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(
|
| - isolate, UtilsExtension::SchedulePauseOnNextStatement);
|
| - } else if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "cancelPauseOnNextStatement",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(
|
| - isolate, UtilsExtension::CancelPauseOnNextStatement);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(isolate, "reconnect",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate, UtilsExtension::Reconnect);
|
| - } else if (name->Equals(context,
|
| - v8::String::NewFromUtf8(
|
| - isolate, "setLogConsoleApiMessageCalls",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(
|
| - isolate, UtilsExtension::SetLogConsoleApiMessageCalls);
|
| - } else if (name->Equals(context, v8::String::NewFromUtf8(
|
| - isolate, "createContextGroup",
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked())
|
| - .FromJust()) {
|
| - return v8::FunctionTemplate::New(isolate,
|
| - UtilsExtension::CreateContextGroup);
|
| - }
|
| - return v8::Local<v8::FunctionTemplate>();
|
| + ~UtilsExtension() override = default;
|
| + bool is_inspector_task() override { return true; }
|
| + void Run(v8::Isolate* isolate,
|
| + const v8::Global<v8::Context>& context) override {
|
| + v8::HandleScope handle_scope(isolate);
|
| + v8::Local<v8::Context> local_context = context.Get(isolate);
|
| + v8::Context::Scope context_scope(local_context);
|
| + v8::Local<v8::ObjectTemplate> utils = v8::ObjectTemplate::New(isolate);
|
| + utils->Set(ToV8String(isolate, "print"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Print));
|
| + utils->Set(ToV8String(isolate, "quit"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Quit));
|
| + utils->Set(ToV8String(isolate, "setlocale"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Setlocale));
|
| + utils->Set(ToV8String(isolate, "read"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Read));
|
| + utils->Set(ToV8String(isolate, "load"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Load));
|
| + utils->Set(ToV8String(isolate, "compileAndRunWithOrigin"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::CompileAndRunWithOrigin));
|
| + utils->Set(ToV8String(isolate, "setCurrentTimeMSForTest"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::SetCurrentTimeMSForTest));
|
| + utils->Set(ToV8String(isolate, "setMemoryInfoForTest"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::SetMemoryInfoForTest));
|
| + utils->Set(ToV8String(isolate, "schedulePauseOnNextStatement"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::SchedulePauseOnNextStatement));
|
| + utils->Set(ToV8String(isolate, "cancelPauseOnNextStatement"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::CancelPauseOnNextStatement));
|
| + utils->Set(ToV8String(isolate, "reconnect"),
|
| + v8::FunctionTemplate::New(isolate, &UtilsExtension::Reconnect));
|
| + utils->Set(ToV8String(isolate, "setLogConsoleApiMessageCalls"),
|
| + v8::FunctionTemplate::New(
|
| + isolate, &UtilsExtension::SetLogConsoleApiMessageCalls));
|
| + utils->Set(ToV8String(isolate, "createContextGroup"),
|
| + v8::FunctionTemplate::New(isolate,
|
| + &UtilsExtension::CreateContextGroup));
|
| + local_context->Global()
|
| + ->Set(local_context, ToV8String(isolate, "utils"),
|
| + utils->NewInstance(local_context).ToLocalChecked())
|
| + .ToChecked();
|
| }
|
|
|
| static void set_backend_task_runner(TaskRunner* runner) {
|
| @@ -203,7 +147,7 @@ class UtilsExtension : public v8::Extension {
|
|
|
| static void Quit(const v8::FunctionCallbackInfo<v8::Value>& args) { Exit(); }
|
|
|
| - static void SetLocale(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + static void Setlocale(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| if (args.Length() != 1 || !args[0]->IsString()) {
|
| fprintf(stderr, "Internal error: setlocale get one string argument.");
|
| Exit();
|
| @@ -694,8 +638,6 @@ int main(int argc, char* argv[]) {
|
| v8::RegisterExtension(&set_timeout_extension);
|
| InspectorExtension inspector_extension;
|
| v8::RegisterExtension(&inspector_extension);
|
| - UtilsExtension utils_extension;
|
| - v8::RegisterExtension(&utils_extension);
|
| SendMessageToBackendExtension send_message_to_backend_extension;
|
| v8::RegisterExtension(&send_message_to_backend_extension);
|
|
|
| @@ -710,12 +652,12 @@ int main(int argc, char* argv[]) {
|
| SendMessageToBackendExtension::set_backend_task_runner(&backend_runner);
|
| UtilsExtension::set_backend_task_runner(&backend_runner);
|
|
|
| - const char* frontend_extensions[] = {"v8_inspector/utils",
|
| - "v8_inspector/frontend"};
|
| + const char* frontend_extensions[] = {"v8_inspector/frontend"};
|
| v8::ExtensionConfiguration frontend_configuration(
|
| arraysize(frontend_extensions), frontend_extensions);
|
| TaskRunner frontend_runner(&frontend_configuration, true, &ready_semaphore);
|
| ready_semaphore.Wait();
|
| + frontend_runner.Append(new UtilsExtension());
|
|
|
| FrontendChannelImpl frontend_channel(&frontend_runner);
|
| InspectorClientImpl inspector_client(&backend_runner, &frontend_channel,
|
|
|