// 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_