diff options
Diffstat (limited to 'deps/v8/test/fuzzer/inspector-fuzzer.cc')
-rw-r--r-- | deps/v8/test/fuzzer/inspector-fuzzer.cc | 79 |
1 files changed, 44 insertions, 35 deletions
diff --git a/deps/v8/test/fuzzer/inspector-fuzzer.cc b/deps/v8/test/fuzzer/inspector-fuzzer.cc index 348e79820c..280a7b1afd 100644 --- a/deps/v8/test/fuzzer/inspector-fuzzer.cc +++ b/deps/v8/test/fuzzer/inspector-fuzzer.cc @@ -12,7 +12,11 @@ #include <vector> #include "include/libplatform/libplatform.h" -#include "include/v8.h" +#include "include/v8-isolate.h" +#include "include/v8-local-handle.h" +#include "include/v8-object.h" +#include "include/v8-primitive.h" +#include "include/v8-template.h" #include "src/base/platform/platform.h" #include "src/base/platform/time.h" #include "src/base/small-vector.h" @@ -32,7 +36,7 @@ namespace { base::SmallVector<TaskRunner*, 2> task_runners; -class UtilsExtension : public IsolateData::SetupGlobalTask { +class UtilsExtension : public InspectorIsolateData::SetupGlobalTask { public: ~UtilsExtension() override = default; void Run(v8::Isolate* isolate, @@ -116,7 +120,8 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { ToVector(args.GetIsolate(), args[2].As<v8::String>()); int context_group_id = args[0].As<v8::Int32>()->Value(); RunSyncTask(backend_runner_, - [&context_group_id, &reason, &details](IsolateData* data) { + [&context_group_id, &reason, + &details](InspectorIsolateData* data) { data->SchedulePauseOnNextStatement( context_group_id, v8_inspector::StringView(reason.data(), reason.size()), @@ -130,9 +135,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { return; } int context_group_id = args[0].As<v8::Int32>()->Value(); - RunSyncTask(backend_runner_, [&context_group_id](IsolateData* data) { - data->CancelPauseOnNextStatement(context_group_id); - }); + RunSyncTask(backend_runner_, + [&context_group_id](InspectorIsolateData* data) { + data->CancelPauseOnNextStatement(context_group_id); + }); } static void CreateContextGroup( @@ -141,9 +147,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { return; } int context_group_id = 0; - RunSyncTask(backend_runner_, [&context_group_id](IsolateData* data) { - context_group_id = data->CreateContextGroup(); - }); + RunSyncTask(backend_runner_, + [&context_group_id](InspectorIsolateData* data) { + context_group_id = data->CreateContextGroup(); + }); args.GetReturnValue().Set( v8::Int32::New(args.GetIsolate(), context_group_id)); } @@ -154,9 +161,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { return; } int context_group_id = args[0].As<v8::Int32>()->Value(); - RunSyncTask(backend_runner_, [&context_group_id](IsolateData* data) { - data->ResetContextGroup(context_group_id); - }); + RunSyncTask(backend_runner_, + [&context_group_id](InspectorIsolateData* data) { + data->ResetContextGroup(context_group_id); + }); } static void ConnectSession(const v8::FunctionCallbackInfo<v8::Value>& args) { @@ -166,8 +174,8 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { } v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); FrontendChannelImpl* channel = new FrontendChannelImpl( - IsolateData::FromContext(context)->task_runner(), - IsolateData::FromContext(context)->GetContextGroupId(context), + InspectorIsolateData::FromContext(context)->task_runner(), + InspectorIsolateData::FromContext(context)->GetContextGroupId(context), args.GetIsolate(), args[2].As<v8::Function>()); std::vector<uint8_t> state = @@ -175,7 +183,7 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { int context_group_id = args[0].As<v8::Int32>()->Value(); int session_id = 0; RunSyncTask(backend_runner_, [&context_group_id, &session_id, &channel, - &state](IsolateData* data) { + &state](InspectorIsolateData* data) { session_id = data->ConnectSession( context_group_id, v8_inspector::StringView(state.data(), state.size()), channel); @@ -193,9 +201,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask { } int session_id = args[0].As<v8::Int32>()->Value(); std::vector<uint8_t> state; - RunSyncTask(backend_runner_, [&session_id, &state](IsolateData* data) { - state = data->DisconnectSession(session_id); - }); + RunSyncTask(backend_runner_, + [&session_id, &state](InspectorIsolateData* data) { + state = data->DisconnectSession(session_id); + }); channels_.erase(session_id); args.GetReturnValue().Set(ToV8String(args.GetIsolate(), state)); } @@ -223,7 +232,7 @@ bool StrictAccessCheck(v8::Local<v8::Context> accessing_context, return accessing_context.IsEmpty(); } -class InspectorExtension : public IsolateData::SetupGlobalTask { +class InspectorExtension : public InspectorIsolateData::SetupGlobalTask { public: ~InspectorExtension() override = default; void Run(v8::Isolate* isolate, @@ -288,7 +297,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { static void FireContextCreated( const v8::FunctionCallbackInfo<v8::Value>& args) { v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); data->FireContextCreated(context, data->GetContextGroupId(context), v8_inspector::StringView()); } @@ -296,13 +305,13 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { static void FireContextDestroyed( const v8::FunctionCallbackInfo<v8::Value>& args) { v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); data->FireContextDestroyed(context); } static void FreeContext(const v8::FunctionCallbackInfo<v8::Value>& args) { v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); data->FreeContext(context); } @@ -312,7 +321,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { return; } v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); data->AddInspectedObject(args[0].As<v8::Int32>()->Value(), args[1]); } @@ -321,7 +330,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { if (args.Length() != 1 || !args[0]->IsInt32()) { return; } - IsolateData::FromContext(args.GetIsolate()->GetCurrentContext()) + InspectorIsolateData::FromContext(args.GetIsolate()->GetCurrentContext()) ->SetMaxAsyncTaskStacksForTest(args[0].As<v8::Int32>()->Value()); } @@ -330,7 +339,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { if (args.Length() != 0) { return; } - IsolateData::FromContext(args.GetIsolate()->GetCurrentContext()) + InspectorIsolateData::FromContext(args.GetIsolate()->GetCurrentContext()) ->DumpAsyncTaskStacksStateForTest(); } @@ -339,7 +348,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { return; } v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); std::vector<uint16_t> reason = ToVector(args.GetIsolate(), args[0].As<v8::String>()); v8_inspector::StringView reason_view(reason.data(), reason.size()); @@ -376,7 +385,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { ToVector(args.GetIsolate(), args[2].As<v8::String>()); v8_inspector::StringView details_view(details.data(), details.size()); v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); int context_group_id = data->GetContextGroupId(context); data->SchedulePauseOnNextStatement(context_group_id, reason_view, details_view); @@ -438,7 +447,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { } v8::Isolate* isolate = args.GetIsolate(); v8::Local<v8::Context> context = isolate->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); std::vector<uint16_t> description = ToVector(isolate, args[0].As<v8::String>()); v8_inspector::StringView description_view(description.data(), @@ -458,7 +467,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { return; } v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); v8_inspector::V8StackTraceId* id = static_cast<v8_inspector::V8StackTraceId*>( args[0].As<v8::ArrayBuffer>()->GetBackingStore()->Data()); @@ -471,7 +480,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { return; } v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); v8_inspector::V8StackTraceId* id = static_cast<v8_inspector::V8StackTraceId*>( args[0].As<v8::ArrayBuffer>()->GetBackingStore()->Data()); @@ -486,7 +495,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { } v8::Isolate* isolate = args.GetIsolate(); v8::Local<v8::Context> context = isolate->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); int context_group_id = data->GetContextGroupId(context); bool with_empty_stack = args[2].As<v8::Boolean>()->Value(); if (with_empty_stack) context->Exit(); @@ -518,7 +527,7 @@ class InspectorExtension : public IsolateData::SetupGlobalTask { } v8::Isolate* isolate = args.GetIsolate(); v8::Local<v8::Context> context = isolate->GetCurrentContext(); - IsolateData* data = IsolateData::FromContext(context); + InspectorIsolateData* data = InspectorIsolateData::FromContext(context); data->SetResourceNamePrefix(v8::Local<v8::String>::Cast(args[0])); } }; @@ -547,7 +556,7 @@ class Watchdog final : public base::Thread { void FuzzInspector(const uint8_t* data, size_t size) { base::Semaphore ready_semaphore(0); - IsolateData::SetupGlobalTasks frontend_extensions; + InspectorIsolateData::SetupGlobalTasks frontend_extensions; frontend_extensions.emplace_back(new UtilsExtension()); TaskRunner frontend_runner(std::move(frontend_extensions), kSuppressUncaughtExceptions, &ready_semaphore, @@ -556,11 +565,11 @@ void FuzzInspector(const uint8_t* data, size_t size) { int frontend_context_group_id = 0; RunSyncTask(&frontend_runner, - [&frontend_context_group_id](IsolateData* data) { + [&frontend_context_group_id](InspectorIsolateData* data) { frontend_context_group_id = data->CreateContextGroup(); }); - IsolateData::SetupGlobalTasks backend_extensions; + InspectorIsolateData::SetupGlobalTasks backend_extensions; backend_extensions.emplace_back(new SetTimeoutExtension()); backend_extensions.emplace_back(new InspectorExtension()); TaskRunner backend_runner(std::move(backend_extensions), |