1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:47:44 +00:00

LibWeb: Add XMLDocument stub

Required by old versions of Pixi.js's XMLFormat bitmap font loader.
db824181dc/packages/text-bitmap/src/formats/XMLFormat.ts (L16)
This commit is contained in:
Luke Wilde 2023-04-05 23:00:08 +01:00 committed by Andreas Kling
parent 3d0ac399c4
commit 1f863de9aa
7 changed files with 59 additions and 1 deletions

View file

@ -155,6 +155,7 @@ set(SOURCES
DOM/Text.cpp
DOM/Text.idl
DOM/TreeWalker.cpp
DOM/XMLDocument.cpp
DOMParsing/InnerHTML.cpp
DOMParsing/XMLSerializer.cpp
Dump.cpp

View file

@ -472,9 +472,9 @@ protected:
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
virtual void visit_edges(Cell::Visitor&) override;
private:
Document(JS::Realm&, AK::URL const&);
private:
// ^HTML::GlobalEventHandlers
virtual EventTarget& global_event_handlers_to_event_target(FlyString const&) final { return *this; }

View file

@ -0,0 +1,25 @@
/*
* Copyright (c) 2023, Luke Wilde <lukew@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/XMLDocumentPrototype.h>
#include <LibWeb/DOM/XMLDocument.h>
namespace Web::DOM {
XMLDocument::XMLDocument(JS::Realm& realm, AK::URL const& url)
: Document(realm, url)
{
}
JS::ThrowCompletionOr<void> XMLDocument::initialize(JS::Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
set_prototype(&Bindings::ensure_web_prototype<Bindings::XMLDocumentPrototype>(realm, "XMLDocument"));
return {};
}
}

View file

@ -0,0 +1,25 @@
/*
* Copyright (c) 2023, Luke Wilde <lukew@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/DOM/Document.h>
namespace Web::DOM {
class XMLDocument final : public Document {
WEB_PLATFORM_OBJECT(XMLDocument, Document);
public:
virtual ~XMLDocument() override = default;
private:
XMLDocument(JS::Realm& realm, AK::URL const& url);
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
};
}

View file

@ -0,0 +1,5 @@
#import <DOM/Document.idl>
[Exposed=Window]
interface XMLDocument : Document {
};

View file

@ -214,6 +214,7 @@ class StaticNodeList;
class StaticRange;
class Text;
class TreeWalker;
class XMLDocument;
enum class QuirksMode;

View file

@ -51,6 +51,7 @@ libweb_js_bindings(DOM/ShadowRoot)
libweb_js_bindings(DOM/StaticRange)
libweb_js_bindings(DOM/Text)
libweb_js_bindings(DOM/TreeWalker)
libweb_js_bindings(DOM/XMLDocument)
libweb_js_bindings(DOMParsing/XMLSerializer)
libweb_js_bindings(Encoding/TextDecoder)
libweb_js_bindings(Encoding/TextEncoder)