mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:17:34 +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:
parent
3d0ac399c4
commit
1f863de9aa
7 changed files with 59 additions and 1 deletions
|
@ -155,6 +155,7 @@ set(SOURCES
|
||||||
DOM/Text.cpp
|
DOM/Text.cpp
|
||||||
DOM/Text.idl
|
DOM/Text.idl
|
||||||
DOM/TreeWalker.cpp
|
DOM/TreeWalker.cpp
|
||||||
|
DOM/XMLDocument.cpp
|
||||||
DOMParsing/InnerHTML.cpp
|
DOMParsing/InnerHTML.cpp
|
||||||
DOMParsing/XMLSerializer.cpp
|
DOMParsing/XMLSerializer.cpp
|
||||||
Dump.cpp
|
Dump.cpp
|
||||||
|
|
|
@ -472,9 +472,9 @@ protected:
|
||||||
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
|
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
|
||||||
virtual void visit_edges(Cell::Visitor&) override;
|
virtual void visit_edges(Cell::Visitor&) override;
|
||||||
|
|
||||||
private:
|
|
||||||
Document(JS::Realm&, AK::URL const&);
|
Document(JS::Realm&, AK::URL const&);
|
||||||
|
|
||||||
|
private:
|
||||||
// ^HTML::GlobalEventHandlers
|
// ^HTML::GlobalEventHandlers
|
||||||
virtual EventTarget& global_event_handlers_to_event_target(FlyString const&) final { return *this; }
|
virtual EventTarget& global_event_handlers_to_event_target(FlyString const&) final { return *this; }
|
||||||
|
|
||||||
|
|
25
Userland/Libraries/LibWeb/DOM/XMLDocument.cpp
Normal file
25
Userland/Libraries/LibWeb/DOM/XMLDocument.cpp
Normal 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 {};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
25
Userland/Libraries/LibWeb/DOM/XMLDocument.h
Normal file
25
Userland/Libraries/LibWeb/DOM/XMLDocument.h
Normal 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
5
Userland/Libraries/LibWeb/DOM/XMLDocument.idl
Normal file
5
Userland/Libraries/LibWeb/DOM/XMLDocument.idl
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#import <DOM/Document.idl>
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
|
interface XMLDocument : Document {
|
||||||
|
};
|
|
@ -214,6 +214,7 @@ class StaticNodeList;
|
||||||
class StaticRange;
|
class StaticRange;
|
||||||
class Text;
|
class Text;
|
||||||
class TreeWalker;
|
class TreeWalker;
|
||||||
|
class XMLDocument;
|
||||||
|
|
||||||
enum class QuirksMode;
|
enum class QuirksMode;
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ libweb_js_bindings(DOM/ShadowRoot)
|
||||||
libweb_js_bindings(DOM/StaticRange)
|
libweb_js_bindings(DOM/StaticRange)
|
||||||
libweb_js_bindings(DOM/Text)
|
libweb_js_bindings(DOM/Text)
|
||||||
libweb_js_bindings(DOM/TreeWalker)
|
libweb_js_bindings(DOM/TreeWalker)
|
||||||
|
libweb_js_bindings(DOM/XMLDocument)
|
||||||
libweb_js_bindings(DOMParsing/XMLSerializer)
|
libweb_js_bindings(DOMParsing/XMLSerializer)
|
||||||
libweb_js_bindings(Encoding/TextDecoder)
|
libweb_js_bindings(Encoding/TextDecoder)
|
||||||
libweb_js_bindings(Encoding/TextEncoder)
|
libweb_js_bindings(Encoding/TextEncoder)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue