diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/node.rs | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index b1c58dcaeab..ca5b14b192c 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -1887,24 +1887,13 @@ impl NodeMethods for Node { // https://dom.spec.whatwg.org/#dom-node-nodevalue fn GetNodeValue(&self) -> Option<DOMString> { - match self.type_id() { - NodeTypeId::CharacterData(..) => { - let chardata = self.downcast::<CharacterData>().unwrap(); - Some(chardata.Data()) - } - _ => { - None - } - } + self.downcast::<CharacterData>().map(CharacterData::Data) } // https://dom.spec.whatwg.org/#dom-node-nodevalue fn SetNodeValue(&self, val: Option<DOMString>) { - match self.type_id() { - NodeTypeId::CharacterData(..) => { - self.SetTextContent(val) - } - _ => {} + if let Some(character_data) = self.downcast::<CharacterData>() { + character_data.SetData(val.unwrap_or(DOMString::new())); } } |