mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Cleanup Node::Normalize.
This commit is contained in:
parent
19e44362e2
commit
327b5d0ce5
1 changed files with 18 additions and 16 deletions
|
@ -1972,25 +1972,27 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
|
||||||
fn Normalize(self) {
|
fn Normalize(self) {
|
||||||
let mut prev_text = None;
|
let mut prev_text = None;
|
||||||
for child in self.children() {
|
for child in self.children() {
|
||||||
if child.is_text() {
|
match TextCast::to_ref(child) {
|
||||||
let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(child).unwrap();
|
Some(text) => {
|
||||||
if characterdata.Length() == 0 {
|
let characterdata: JSRef<CharacterData> = CharacterDataCast::from_ref(text);
|
||||||
self.remove_child(child);
|
if characterdata.Length() == 0 {
|
||||||
} else {
|
self.remove_child(child);
|
||||||
match prev_text {
|
} else {
|
||||||
Some(text_node) => {
|
match prev_text {
|
||||||
let prev_characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(text_node).unwrap();
|
Some(text_node) => {
|
||||||
let _ = prev_characterdata.AppendData(characterdata.Data());
|
let prev_characterdata: JSRef<CharacterData> = CharacterDataCast::from_ref(text_node);
|
||||||
self.remove_child(child);
|
let _ = prev_characterdata.AppendData(characterdata.Data());
|
||||||
},
|
self.remove_child(child);
|
||||||
None => prev_text = Some(child)
|
},
|
||||||
|
None => prev_text = Some(text)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
None => {
|
||||||
|
child.Normalize();
|
||||||
|
prev_text = None;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
child.Normalize();
|
|
||||||
prev_text = None;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue