aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-04-09 02:07:15 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-04-09 16:54:55 +0200
commit8f73b452fb36cceed9d7a3aa253d937c338983b3 (patch)
tree72a9ec35b5866fd66e614348c4d340941ca151be /components/script/dom/node.rs
parent45b490c977749618d200dbed77e7a098967d6864 (diff)
downloadservo-8f73b452fb36cceed9d7a3aa253d937c338983b3.tar.gz
servo-8f73b452fb36cceed9d7a3aa253d937c338983b3.zip
Cleanup access to CharacterData nodes
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r--components/script/dom/node.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index f6c7adc2668..89ec44718eb 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -13,12 +13,11 @@ use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods;
use dom::bindings::codegen::Bindings::NodeBinding::{NodeConstants, NodeMethods};
use dom::bindings::codegen::Bindings::NodeListBinding::NodeListMethods;
use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods;
-use dom::bindings::codegen::InheritTypes::{CommentCast, DocumentCast, DocumentTypeCast};
-use dom::bindings::codegen::InheritTypes::{ElementCast, TextCast, NodeCast, ElementDerived};
-use dom::bindings::codegen::InheritTypes::{CharacterDataCast, NodeBase, NodeDerived};
-use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, EventTargetCast};
+use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentCast, DocumentTypeCast};
+use dom::bindings::codegen::InheritTypes::{ElementCast, NodeCast, ElementDerived, EventTargetCast};
use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, HTMLFieldSetElementDerived};
-use dom::bindings::codegen::InheritTypes::HTMLOptGroupElementDerived;
+use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, NodeBase, NodeDerived};
+use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, TextCast};
use dom::bindings::conversions;
use dom::bindings::error::Fallible;
use dom::bindings::error::Error::{NotFound, HierarchyRequest, Syntax};
@@ -29,7 +28,7 @@ use dom::bindings::js::{ResultRootable, OptionalRootable, MutNullableJS};
use dom::bindings::trace::JSTraceable;
use dom::bindings::trace::RootedVec;
use dom::bindings::utils::{Reflectable, reflect_dom_object};
-use dom::characterdata::CharacterData;
+use dom::characterdata::{CharacterData, CharacterDataHelpers};
use dom::comment::Comment;
use dom::document::{Document, DocumentHelpers, IsHTMLDocument, DocumentSource};
use dom::documentfragment::DocumentFragment;
@@ -1601,8 +1600,8 @@ impl Node {
NodeCast::from_temporary(doc_fragment)
},
NodeTypeId::Comment => {
- let comment: JSRef<Comment> = CommentCast::to_ref(node).unwrap();
- let comment = Comment::new(comment.characterdata().data().clone(), document.r());
+ let cdata = CharacterDataCast::to_ref(node).unwrap();
+ let comment = Comment::new(cdata.Data(), document.r());
NodeCast::from_temporary(comment)
},
NodeTypeId::Document => {
@@ -1629,14 +1628,14 @@ impl Node {
NodeCast::from_temporary(element)
},
NodeTypeId::Text => {
- let text: JSRef<Text> = TextCast::to_ref(node).unwrap();
- let text = Text::new(text.characterdata().data().clone(), document.r());
+ let cdata = CharacterDataCast::to_ref(node).unwrap();
+ let text = Text::new(cdata.Data(), document.r());
NodeCast::from_temporary(text)
},
NodeTypeId::ProcessingInstruction => {
let pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap();
let pi = ProcessingInstruction::new(pi.target().clone(),
- pi.characterdata().data().clone(), document.r());
+ CharacterDataCast::from_ref(pi).Data(), document.r());
NodeCast::from_temporary(pi)
},
}.root();
@@ -1696,7 +1695,7 @@ impl Node {
let node = node.root();
let text = TextCast::to_ref(node.r());
match text {
- Some(text) => content.push_str(text.characterdata().data().as_slice()),
+ Some(text) => content.push_str(&CharacterDataCast::from_ref(text).Data()),
None => (),
}
}
@@ -2123,7 +2122,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
let pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap();
let other_pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(other).unwrap();
(*pi.target() == *other_pi.target()) &&
- (*pi.characterdata().data() == *other_pi.characterdata().data())
+ (*CharacterDataCast::from_ref(pi).data() == *CharacterDataCast::from_ref(other_pi).data())
}
fn is_equal_characterdata(node: JSRef<Node>, other: JSRef<Node>) -> bool {
let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(node).unwrap();