chromium/third_party/blink/renderer/bindings/core/v8/script_state_impl.h

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

#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_STATE_IMPL_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_STATE_IMPL_H_

#include "third_party/blink/renderer/platform/bindings/script_state.h"

namespace blink {

class DOMWrapperWorld;
class ExecutionContext;

// This is a helper class to resolve a layering violation. ScripState should
// hold a Member<ExecutionContext>, but ExecutionContext lives in core/, and
// ScriptState lives in platform/, which isn't allowed. Consumers can just use
// helpers like ToExecutionContext(ScriptState*) and the bindings will take care
// of the requisite casts.
class ScriptStateImpl final : public ScriptState {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_STATE_IMPL_H_