/* * Copyright (c) 2024, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::Bindings { struct SyntheticHostDefined final : public HostDefined { SyntheticHostDefined(HTML::SyntheticRealmSettings synthetic_realm_settings, GC::Ref intrinsics) : HostDefined(intrinsics) , synthetic_realm_settings(move(synthetic_realm_settings)) { } virtual ~SyntheticHostDefined() override = default; virtual void visit_edges(JS::Cell::Visitor& visitor) override; virtual bool is_synthetic_host_defined() const override { return true; } HTML::SyntheticRealmSettings synthetic_realm_settings; }; } template<> inline bool JS::Realm::HostDefined::fast_is() const { return is_synthetic_host_defined(); }