/* * Copyright (c) 2020-2021, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #include #include namespace Web::DOM { DocumentFragment::DocumentFragment(Document& document) : ParentNode(document, NodeType::DOCUMENT_FRAGMENT_NODE) { set_prototype(&Bindings::cached_web_prototype(realm(), "DocumentFragment")); } void DocumentFragment::visit_edges(Cell::Visitor& visitor) { Base::visit_edges(visitor); visitor.visit(m_host.ptr()); } void DocumentFragment::set_host(Web::DOM::Element* element) { m_host = element; } // https://dom.spec.whatwg.org/#dom-documentfragment-documentfragment JS::NonnullGCPtr DocumentFragment::construct_impl(JS::Realm& realm) { auto& window = verify_cast(realm.global_object()); return *realm.heap().allocate(realm, window.associated_document()); } }