/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::DOM { class DocumentFragment : public ParentNode , public NonElementParentNode { public: using WrapperType = Bindings::DocumentFragmentWrapper; static NonnullRefPtr create_with_global_object(Bindings::WindowObject& window); explicit DocumentFragment(Document& document); virtual ~DocumentFragment() override = default; virtual FlyString node_name() const override { return "#document-fragment"; } Element* host() { return m_host; } Element const* host() const { return m_host; } void set_host(Element* host) { m_host = host; } private: // https://dom.spec.whatwg.org/#concept-documentfragment-host WeakPtr m_host; }; template<> inline bool Node::fast_is() const { return is_document_fragment(); } }