1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00

LibWeb: Use the prefix passed to Document.createElementNS()

1% progression on ACID3. :^)
This commit is contained in:
Andreas Kling 2022-02-25 21:29:12 +01:00
parent fa17776a51
commit fb11741f20
2 changed files with 11 additions and 4 deletions

View file

@ -89,11 +89,18 @@
namespace Web::DOM {
NonnullRefPtr<Element> create_element(Document& document, const FlyString& tag_name, const FlyString& namespace_)
NonnullRefPtr<Element> create_element(Document& document, FlyString tag_name, FlyString namespace_)
{
auto lowercase_tag_name = tag_name.to_lowercase();
// FIXME: Add prefix when we support it.
auto qualified_name = QualifiedName(tag_name, {}, namespace_);
FlyString prefix;
auto parts = tag_name.view().split_view(':');
if (parts.size() > 1) {
prefix = parts[0];
tag_name = tag_name.view().substring_view_starting_from_substring(parts[1]);
}
auto qualified_name = QualifiedName(tag_name, prefix, namespace_);
if (lowercase_tag_name == HTML::TagNames::a)
return adopt_ref(*new HTML::HTMLAnchorElement(document, move(qualified_name)));
if (lowercase_tag_name == HTML::TagNames::area)