chromium/gin/shell_runner.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef GIN_SHELL_RUNNER_H_
#define GIN_SHELL_RUNNER_H_

#include <memory>

#include "base/memory/raw_ptr.h"
#include "gin/runner.h"

namespace gin {

class ContextHolder;
class ShellRunner;
class TryCatch;

// Subclass ShellRunnerDelegate to customize the behavior of ShellRunner.
// Typical embedders will want to subclass one of the specialized
// ShellRunnerDelegates, such as ModuleRunnerDelegate.
class GIN_EXPORT ShellRunnerDelegate {};

// ShellRunner executes the script/functions directly in a v8::Context.
// ShellRunner owns a ContextHolder and v8::Context, both of which are destroyed
// when the ShellRunner is deleted.
class GIN_EXPORT ShellRunner : public Runner {};

}  // namespace gin

#endif  // GIN_SHELL_RUNNER_H_