mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
LibWeb: Implement Node.nodeValue
DOM attribute
This commit is contained in:
parent
929074ddea
commit
c6dd8a1f66
3 changed files with 30 additions and 0 deletions
|
@ -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) {
|
||||
|
|
|
@ -111,6 +111,9 @@ public:
|
|||
String text_content() const;
|
||||
void set_text_content(String const&);
|
||||
|
||||
String node_value() const;
|
||||
void set_node_value(String const&);
|
||||
|
||||
Document& document() { return *m_document; }
|
||||
const Document& document() const { return *m_document; }
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ interface Node : EventTarget {
|
|||
readonly attribute Document? ownerDocument;
|
||||
Node getRootNode(optional GetRootNodeOptions options = {});
|
||||
|
||||
[CEReactions] attribute DOMString? nodeValue;
|
||||
// FIXME: [LegacyNullToEmptyString] is not allowed on nullable types as per the Web IDL spec.
|
||||
// However, we only apply it to setters, so this works as a stop gap.
|
||||
// Replace this with something like a special cased [LegacyNullToEmptyString].
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue