/* * Copyright (c) 2023, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Web::HTML { // NOTE: This class is not currently in the specifications but it *is* implemented by all major browsers. // There is discussion about bringing it back: // https://github.com/whatwg/html/issues/4792 // https://github.com/whatwg/dom/issues/221 class HTMLDocument final : public DOM::Document { WEB_PLATFORM_OBJECT(HTMLDocument, DOM::Document); JS_DECLARE_ALLOCATOR(HTMLDocument); public: virtual ~HTMLDocument() override; [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, URL::URL const& url = "about:blank"sv); WebIDL::ExceptionOr> construct_impl(JS::Realm&); private: virtual void initialize(JS::Realm&) override; HTMLDocument(JS::Realm&, URL::URL const&); }; }