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 { - match self.type_id() { - NodeTypeId::CharacterData(..) => { - let chardata = self.downcast::().unwrap(); - Some(chardata.Data()) - } - _ => { - None - } - } + self.downcast::().map(CharacterData::Data) } // https://dom.spec.whatwg.org/#dom-node-nodevalue fn SetNodeValue(&self, val: Option) { - match self.type_id() { - NodeTypeId::CharacterData(..) => { - self.SetTextContent(val) - } - _ => {} + if let Some(character_data) = self.downcast::() { + character_data.SetData(val.unwrap_or(DOMString::new())); } }