#include "extensions/renderer/extension_js_runner.h"
#include "base/functional/bind.h"
#include "content/public/renderer/worker_thread.h"
#include "extensions/renderer/script_context.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/public/web/web_script_execution_callback.h"
#include "v8/include/v8-function.h"
#include "v8/include/v8-isolate.h"
#include "v8/include/v8-microtask-queue.h"
namespace extensions {
ExtensionJSRunner::ExtensionJSRunner(ScriptContext* script_context)
: … { … }
ExtensionJSRunner::~ExtensionJSRunner() = default;
void ExtensionJSRunner::RunJSFunction(v8::Local<v8::Function> function,
v8::Local<v8::Context> context,
int argc,
v8::Local<v8::Value> argv[],
ResultCallback callback) { … }
v8::MaybeLocal<v8::Value> ExtensionJSRunner::RunJSFunctionSync(
v8::Local<v8::Function> function,
v8::Local<v8::Context> context,
int argc,
v8::Local<v8::Value> argv[]) { … }
void ExtensionJSRunner::OnFunctionComplete(ResultCallback callback,
std::optional<base::Value> value,
base::TimeTicks start_time) { … }
}