1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:37:34 +00:00

LibWeb: Create XML Documents in DOMParser.parseFromString

This commit is contained in:
Shannon Booth 2024-01-04 12:38:36 +13:00 committed by Andreas Kling
parent cd156bad6b
commit a545935997
3 changed files with 11 additions and 1 deletions

View file

@ -0,0 +1 @@
XMLDocument

View file

@ -0,0 +1,8 @@
<script src="../include.js"></script>
<script>
test(() => {
const parser = new DOMParser();
const xmlDoc = parser.parseFromString('<svg></svg>', "text/xml");
println(xmlDoc.constructor.name);
});
</script>

View file

@ -6,6 +6,7 @@
#include <LibWeb/Bindings/DOMParserPrototype.h>
#include <LibWeb/Bindings/MainThreadVM.h>
#include <LibWeb/DOM/XMLDocument.h>
#include <LibWeb/HTML/DOMParser.h>
#include <LibWeb/HTML/HTMLDocument.h>
#include <LibWeb/HTML/Parser/HTMLParser.h>
@ -59,7 +60,7 @@ JS::NonnullGCPtr<DOM::Document> DOMParser::parse_from_string(StringView string,
parser->run("about:blank"sv);
} else {
// -> Otherwise
document = DOM::Document::create(realm(), verify_cast<HTML::Window>(relevant_global_object(*this)).associated_document().url());
document = DOM::XMLDocument::create(realm(), verify_cast<HTML::Window>(relevant_global_object(*this)).associated_document().url());
document->set_content_type(Bindings::idl_enum_to_string(type));
// 1. Create an XML parser parse, associated with document, and with XML scripting support disabled.