/* * Copyright (c) 2026, Tim Ledbetter * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::CSS { struct FontFaceSetLoadEventInit : public DOM::EventInit { Vector> fontfaces; }; class FontFaceSetLoadEvent : public DOM::Event { WEB_PLATFORM_OBJECT(FontFaceSetLoadEvent, DOM::Event); GC_DECLARE_ALLOCATOR(FontFaceSetLoadEvent); public: [[nodiscard]] static GC::Ref create(JS::Realm&, FlyString const& type, FontFaceSetLoadEventInit const& event_init = {}); static WebIDL::ExceptionOr> construct_impl(JS::Realm&, FlyString const& type, FontFaceSetLoadEventInit const& event_init = {}); virtual ~FontFaceSetLoadEvent() override = default; Vector> const& fontfaces() const { return m_fontfaces; } private: FontFaceSetLoadEvent(JS::Realm&, FlyString const& type, FontFaceSetLoadEventInit const& event_init = {}); virtual void initialize(JS::Realm&) override; virtual void visit_edges(Visitor&) override; Vector> m_fontfaces; }; }