1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 14:34:59 +00:00
serenity/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp
Shannon Booth 9303e9e76f LibWeb: Port Element::local_name and TagNames from Deprecated String
Which pretty much needs to be done together due to the amount of places
where they are compared together.

This also involves porting over StackOfOpenElements over to FlyString
from DeprecatedFly string to prevent a gazillion calls to
`.to_deprecated_fly_string` calls in HTMLParser.
2023-10-03 14:47:53 +01:00

36 lines
897 B
C++

/*
* Copyright (c) 2023, Jonah Shafran <jonahshafran@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/ExceptionOrUtils.h>
#include <LibWeb/MathML/MathMLElement.h>
#include <LibWeb/MathML/TagNames.h>
namespace Web::MathML {
MathMLElement::~MathMLElement() = default;
MathMLElement::MathMLElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: DOM::Element(document, move(qualified_name))
{
}
void MathMLElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::MathMLElementPrototype>(realm, "MathMLElement"));
m_dataset = HTML::DOMStringMap::create(*this);
}
Optional<ARIA::Role> MathMLElement::default_role() const
{
// https://www.w3.org/TR/html-aria/#el-math
if (local_name() == TagNames::math)
return ARIA::Role::math;
return {};
}
}