diff --git a/components/script/dom/htmlserializer.rs b/components/script/dom/htmlserializer.rs
index 07c5b3d71219..9e84900a9c0b 100644
--- a/components/script/dom/htmlserializer.rs
+++ b/components/script/dom/htmlserializer.rs
@@ -93,9 +93,9 @@ fn serialize_text(text: JSRef, html: &mut String) {
fn serialize_processing_instruction(processing_instruction: JSRef,
html: &mut String) {
html.push_str("");
- html.push_str(processing_instruction.target.as_slice());
+ html.push_str(processing_instruction.target().as_slice());
html.push_char(' ');
- html.push_str(processing_instruction.characterdata.data().as_slice());
+ html.push_str(processing_instruction.characterdata().data().as_slice());
html.push_str("?>");
}
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 8a2179a07601..68119f33d231 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -1496,8 +1496,8 @@ impl Node {
},
ProcessingInstructionNodeTypeId => {
let pi: JSRef = ProcessingInstructionCast::to_ref(node).unwrap();
- let pi = ProcessingInstruction::new(pi.target.clone(),
- pi.characterdata.data().clone(), *document);
+ let pi = ProcessingInstruction::new(pi.target().clone(),
+ pi.characterdata().data().clone(), *document);
NodeCast::from_temporary(pi)
},
}.root();
@@ -1974,8 +1974,8 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
fn is_equal_processinginstruction(node: JSRef, other: JSRef) -> bool {
let pi: JSRef = ProcessingInstructionCast::to_ref(node).unwrap();
let other_pi: JSRef = ProcessingInstructionCast::to_ref(other).unwrap();
- (pi.target == other_pi.target) &&
- (*pi.characterdata.data() == *other_pi.characterdata.data())
+ (*pi.target() == *other_pi.target()) &&
+ (*pi.characterdata().data() == *other_pi.characterdata().data())
}
fn is_equal_characterdata(node: JSRef, other: JSRef) -> bool {
let characterdata: JSRef = CharacterDataCast::to_ref(node).unwrap();
diff --git a/components/script/dom/processinginstruction.rs b/components/script/dom/processinginstruction.rs
index ed5c9522aa04..19017ae90506 100644
--- a/components/script/dom/processinginstruction.rs
+++ b/components/script/dom/processinginstruction.rs
@@ -16,9 +16,10 @@ use servo_util::str::DOMString;
/// An HTML processing instruction node.
#[jstraceable]
#[must_root]
+#[privatize]
pub struct ProcessingInstruction {
- pub characterdata: CharacterData,
- pub target: DOMString,
+ characterdata: CharacterData,
+ target: DOMString,
}
impl ProcessingInstructionDerived for EventTarget {
@@ -39,6 +40,14 @@ impl ProcessingInstruction {
Node::reflect_node(box ProcessingInstruction::new_inherited(target, data, document),
document, ProcessingInstructionBinding::Wrap)
}
+
+ pub fn characterdata<'a>(&'a self) -> &'a CharacterData {
+ &self.characterdata
+ }
+
+ pub fn target<'a>(&'a self) -> &'a DOMString {
+ &self.target
+ }
}
impl<'a> ProcessingInstructionMethods for JSRef<'a, ProcessingInstruction> {