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

LibWeb: Implement Node.nodeValue DOM attribute

This commit is contained in:
Adam Hodgen 2022-02-18 22:11:43 +00:00 committed by Andreas Kling
parent 929074ddea
commit c6dd8a1f66
3 changed files with 30 additions and 0 deletions

View file

@ -145,6 +145,32 @@ void Node::set_text_content(String const& content)
set_needs_style_update(true);
}
// https://dom.spec.whatwg.org/#dom-node-nodevalue
String Node::node_value() const
{
if (is<Attribute>(this)) {
return verify_cast<Attribute>(this)->value();
}
if (is<CharacterData>(this)) {
return verify_cast<CharacterData>(this)->data();
}
return {};
}
// https://dom.spec.whatwg.org/#ref-for-dom-node-nodevalue%E2%91%A0
void Node::set_node_value(const String& value)
{
if (is<Attribute>(this)) {
verify_cast<Attribute>(this)->set_value(value);
} else if (is<CharacterData>(this)) {
verify_cast<CharacterData>(this)->set_data(value);
}
// Otherwise: Do nothing.
}
void Node::invalidate_style()
{
for_each_in_inclusive_subtree_of_type<Element>([&](auto& element) {