/* * 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); public: static WebIDL::ExceptionOr> 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; }; }