LibWeb: Move XMLSerializer into HTML directory

The DOMParsing spec is in the process of being merged into the HTML one,
gradually. The linked spec change moves XMLSerializer, but many of the
algorithms are still in the DOMParsing spec so I've left the links to
those alone.

I've done my best to update the GN build but since I'm not actually
using it, I might have done that wrong.

Corresponds to 2edb8cc7ee
This commit is contained in:
Sam Atkins 2025-03-03 13:04:14 +00:00 committed by Tim Ledbetter
parent a11848f163
commit f148af0a93
Notes: github-actions[bot] 2025-03-04 16:45:51 +00:00
18 changed files with 25 additions and 32 deletions

View file

@ -0,0 +1,37 @@
/*
* Copyright (c) 2022, Luke Wilde <lukew@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/Bindings/PlatformObject.h>
namespace Web::HTML {
// https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#xmlserializer
class XMLSerializer final : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(XMLSerializer, Bindings::PlatformObject);
GC_DECLARE_ALLOCATOR(XMLSerializer);
public:
static WebIDL::ExceptionOr<GC::Ref<XMLSerializer>> construct_impl(JS::Realm&);
virtual ~XMLSerializer() override;
WebIDL::ExceptionOr<String> serialize_to_string(GC::Ref<DOM::Node const> root);
private:
explicit XMLSerializer(JS::Realm&);
virtual void initialize(JS::Realm&) override;
};
enum class RequireWellFormed {
No,
Yes,
};
WebIDL::ExceptionOr<String> serialize_node_to_xml_string(GC::Ref<DOM::Node const> root, RequireWellFormed require_well_formed);
}