/* * Copyright (c) 2021, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::DOM { class StaticNodeList final : public NodeList { WEB_PLATFORM_OBJECT(StaticNodeList, NodeList); JS_DECLARE_ALLOCATOR(StaticNodeList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>); virtual ~StaticNodeList() override; virtual u32 length() const override; virtual Node const* item(u32 index) const override; virtual bool is_supported_property_index(u32) const override; private: StaticNodeList(JS::Realm&, Vector>); virtual void visit_edges(Cell::Visitor&) override; Vector> m_static_nodes; }; }