aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorTim Taubert <tim@timtaubert.de>2014-10-12 18:53:31 +0200
committerTim Taubert <tim@timtaubert.de>2014-10-13 11:13:12 +0200
commit9a52bb8310eb9d479a5211b0048bb682da0ac123 (patch)
tree63d43b597057dd5d17e3bf57b7b351d8c1aa525e /components
parentacd98a73a4ea1aad96705c49ab960d9c87a38a28 (diff)
downloadservo-9a52bb8310eb9d479a5211b0048bb682da0ac123.tar.gz
servo-9a52bb8310eb9d479a5211b0048bb682da0ac123.zip
Privatize InheritTypes
Diffstat (limited to 'components')
-rw-r--r--components/layout/wrapper.rs8
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py2
-rw-r--r--components/script/dom/characterdata.rs22
-rw-r--r--components/script/dom/document.rs2
-rw-r--r--components/script/dom/element.rs5
-rw-r--r--components/script/dom/htmlanchorelement.rs3
-rw-r--r--components/script/dom/htmlappletelement.rs3
-rw-r--r--components/script/dom/htmlareaelement.rs3
-rw-r--r--components/script/dom/htmlaudioelement.rs3
-rw-r--r--components/script/dom/htmlbaseelement.rs3
-rw-r--r--components/script/dom/htmlbodyelement.rs3
-rw-r--r--components/script/dom/htmlbrelement.rs3
-rw-r--r--components/script/dom/htmlbuttonelement.rs3
-rw-r--r--components/script/dom/htmlcanvaselement.rs3
-rw-r--r--components/script/dom/htmldataelement.rs3
-rw-r--r--components/script/dom/htmldatalistelement.rs3
-rw-r--r--components/script/dom/htmldirectoryelement.rs3
-rw-r--r--components/script/dom/htmldivelement.rs3
-rw-r--r--components/script/dom/htmldlistelement.rs3
-rw-r--r--components/script/dom/htmlelement.rs8
-rw-r--r--components/script/dom/htmlembedelement.rs3
-rw-r--r--components/script/dom/htmlfieldsetelement.rs3
-rw-r--r--components/script/dom/htmlfontelement.rs3
-rw-r--r--components/script/dom/htmlformelement.rs3
-rw-r--r--components/script/dom/htmlframeelement.rs3
-rw-r--r--components/script/dom/htmlframesetelement.rs3
-rw-r--r--components/script/dom/htmlheadelement.rs3
-rw-r--r--components/script/dom/htmlheadingelement.rs5
-rw-r--r--components/script/dom/htmlhrelement.rs3
-rw-r--r--components/script/dom/htmlhtmlelement.rs3
-rw-r--r--components/script/dom/htmliframeelement.rs29
-rw-r--r--components/script/dom/htmlimageelement.rs3
-rw-r--r--components/script/dom/htmlinputelement.rs3
-rw-r--r--components/script/dom/htmllabelelement.rs3
-rw-r--r--components/script/dom/htmllegendelement.rs3
-rw-r--r--components/script/dom/htmllielement.rs3
-rw-r--r--components/script/dom/htmllinkelement.rs3
-rw-r--r--components/script/dom/htmlmapelement.rs3
-rw-r--r--components/script/dom/htmlmediaelement.rs8
-rw-r--r--components/script/dom/htmlmetaelement.rs3
-rw-r--r--components/script/dom/htmlmeterelement.rs3
-rw-r--r--components/script/dom/htmlmodelement.rs3
-rw-r--r--components/script/dom/htmlobjectelement.rs3
-rw-r--r--components/script/dom/htmlolistelement.rs3
-rw-r--r--components/script/dom/htmloptgroupelement.rs3
-rw-r--r--components/script/dom/htmloptionelement.rs3
-rw-r--r--components/script/dom/htmloutputelement.rs3
-rw-r--r--components/script/dom/htmlparagraphelement.rs3
-rw-r--r--components/script/dom/htmlparamelement.rs3
-rw-r--r--components/script/dom/htmlpreelement.rs3
-rw-r--r--components/script/dom/htmlprogresselement.rs3
-rw-r--r--components/script/dom/htmlquoteelement.rs3
-rw-r--r--components/script/dom/htmlscriptelement.rs3
-rw-r--r--components/script/dom/htmlselectelement.rs3
-rw-r--r--components/script/dom/htmlserializer.rs12
-rw-r--r--components/script/dom/htmlsourceelement.rs3
-rw-r--r--components/script/dom/htmlspanelement.rs3
-rw-r--r--components/script/dom/htmlstyleelement.rs3
-rw-r--r--components/script/dom/htmltablecaptionelement.rs3
-rw-r--r--components/script/dom/htmltablecellelement.rs8
-rw-r--r--components/script/dom/htmltablecolelement.rs3
-rw-r--r--components/script/dom/htmltabledatacellelement.rs3
-rw-r--r--components/script/dom/htmltableelement.rs3
-rw-r--r--components/script/dom/htmltableheadercellelement.rs3
-rw-r--r--components/script/dom/htmltablerowelement.rs3
-rw-r--r--components/script/dom/htmltablesectionelement.rs3
-rw-r--r--components/script/dom/htmltemplateelement.rs3
-rw-r--r--components/script/dom/htmltextareaelement.rs3
-rw-r--r--components/script/dom/htmltimeelement.rs3
-rw-r--r--components/script/dom/htmltitleelement.rs5
-rw-r--r--components/script/dom/htmltrackelement.rs3
-rw-r--r--components/script/dom/htmlulistelement.rs3
-rw-r--r--components/script/dom/htmlunknownelement.rs3
-rw-r--r--components/script/dom/htmlvideoelement.rs3
-rw-r--r--components/script/dom/node.rs19
-rw-r--r--components/script/dom/text.rs8
-rw-r--r--components/script/dom/uievent.rs8
-rw-r--r--components/script/dom/workerglobalscope.rs8
-rw-r--r--components/script/dom/xmlhttprequesteventtarget.rs8
-rw-r--r--components/script/html/hubbub_html_parser.rs2
80 files changed, 252 insertions, 101 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs
index 7cde321f058..f7b14cff10c 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -116,8 +116,8 @@ pub trait TLayoutNode {
fail!("not an iframe element!")
}
let iframe_element: JS<HTMLIFrameElement> = self.get_jsmanaged().transmute_copy();
- let size = (*iframe_element.unsafe_get()).size.get().unwrap();
- (size.pipeline_id, size.subpage_id)
+ let size = (*iframe_element.unsafe_get()).size().unwrap();
+ (*size.pipeline_id(), *size.subpage_id())
}
}
@@ -189,7 +189,7 @@ impl<'ln> TLayoutNode for LayoutNode<'ln> {
unsafe {
if self.get().is_text() {
let text: JS<Text> = self.get_jsmanaged().transmute_copy();
- (*text.unsafe_get()).characterdata.data.borrow().clone()
+ (*text.unsafe_get()).characterdata().data().clone()
} else if self.get().is_htmlinputelement() {
let input: JS<HTMLInputElement> = self.get_jsmanaged().transmute_copy();
input.get_value_for_layout()
@@ -765,7 +765,7 @@ impl<'ln> ThreadSafeLayoutNode<'ln> {
Some(TextNodeTypeId) => {
unsafe {
let text: JS<Text> = self.get_jsmanaged().transmute_copy();
- if !is_whitespace((*text.unsafe_get()).characterdata.data.borrow().as_slice()) {
+ if !is_whitespace((*text.unsafe_get()).characterdata().data().as_slice()) {
return false
}
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 9f80ca0dd5c..7cf193baf0c 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -5452,7 +5452,7 @@ class GlobalGenRoots():
protoDescriptor = config.getDescriptor(protoName)
delegate = string.Template('''impl ${selfName} for ${baseName} {
fn ${fname}(&self) -> bool {
- self.${parentName}.${fname}()
+ self.${parentName}().${fname}()
}
}
''').substitute({'fname': 'is_' + name.lower(),
diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs
index 277295daef9..c9ad75f9a22 100644
--- a/components/script/dom/characterdata.rs
+++ b/components/script/dom/characterdata.rs
@@ -14,13 +14,14 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::node::{CommentNodeTypeId, Node, NodeTypeId, TextNodeTypeId, ProcessingInstructionNodeTypeId, NodeHelpers};
use servo_util::str::DOMString;
-use std::cell::RefCell;
+use std::cell::{Ref, RefCell};
#[jstraceable]
#[must_root]
+#[privatize]
pub struct CharacterData {
- pub node: Node,
- pub data: RefCell<DOMString>,
+ node: Node,
+ data: RefCell<DOMString>,
}
impl CharacterDataDerived for EventTarget {
@@ -41,6 +42,21 @@ impl CharacterData {
data: RefCell::new(data),
}
}
+
+ #[inline]
+ pub fn node<'a>(&'a self) -> &'a Node {
+ &self.node
+ }
+
+ #[inline]
+ pub fn data(&self) -> Ref<DOMString> {
+ self.data.borrow()
+ }
+
+ #[inline]
+ pub fn set_data(&self, data: DOMString) {
+ *self.data.borrow_mut() = data;
+ }
}
impl<'a> CharacterDataMethods for JSRef<'a, CharacterData> {
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 99dde0e9f0c..7e698a9ec6a 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -641,7 +641,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
for child in title_elem.children() {
if child.is_text() {
let text: JSRef<Text> = TextCast::to_ref(child).unwrap();
- title.push_str(text.characterdata.data.borrow().as_slice());
+ title.push_str(text.characterdata().data().as_slice());
}
}
});
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index ef5ec630670..82b54229201 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -166,6 +166,11 @@ impl Element {
Node::reflect_node(box Element::new_inherited(ElementTypeId_, local_name, namespace, prefix, document),
document, ElementBinding::Wrap)
}
+
+ #[inline]
+ pub fn node<'a>(&'a self) -> &'a Node {
+ &self.node
+ }
}
pub trait RawLayoutElementHelpers {
diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs
index 74ab2976456..f82027a93fa 100644
--- a/components/script/dom/htmlanchorelement.rs
+++ b/components/script/dom/htmlanchorelement.rs
@@ -23,8 +23,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLAnchorElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLAnchorElementDerived for EventTarget {
diff --git a/components/script/dom/htmlappletelement.rs b/components/script/dom/htmlappletelement.rs
index b40bc50bc67..5572b126634 100644
--- a/components/script/dom/htmlappletelement.rs
+++ b/components/script/dom/htmlappletelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLAppletElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLAppletElementDerived for EventTarget {
diff --git a/components/script/dom/htmlareaelement.rs b/components/script/dom/htmlareaelement.rs
index 57c3fe883d4..49463f86b3f 100644
--- a/components/script/dom/htmlareaelement.rs
+++ b/components/script/dom/htmlareaelement.rs
@@ -16,8 +16,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLAreaElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLAreaElementDerived for EventTarget {
diff --git a/components/script/dom/htmlaudioelement.rs b/components/script/dom/htmlaudioelement.rs
index 0d419c40338..b281c6e3db7 100644
--- a/components/script/dom/htmlaudioelement.rs
+++ b/components/script/dom/htmlaudioelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLAudioElement {
- pub htmlmediaelement: HTMLMediaElement
+ htmlmediaelement: HTMLMediaElement
}
impl HTMLAudioElementDerived for EventTarget {
diff --git a/components/script/dom/htmlbaseelement.rs b/components/script/dom/htmlbaseelement.rs
index 1a9d0e833bd..6691c27e29c 100644
--- a/components/script/dom/htmlbaseelement.rs
+++ b/components/script/dom/htmlbaseelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLBaseElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLBaseElementDerived for EventTarget {
diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs
index a73e6ef40b6..a537ca52ba3 100644
--- a/components/script/dom/htmlbodyelement.rs
+++ b/components/script/dom/htmlbodyelement.rs
@@ -22,8 +22,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLBodyElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLBodyElementDerived for EventTarget {
diff --git a/components/script/dom/htmlbrelement.rs b/components/script/dom/htmlbrelement.rs
index 4585c433ae2..e6cb0596bd5 100644
--- a/components/script/dom/htmlbrelement.rs
+++ b/components/script/dom/htmlbrelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLBRElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLBRElementDerived for EventTarget {
diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs
index f12035d148e..e0ae3afa30a 100644
--- a/components/script/dom/htmlbuttonelement.rs
+++ b/components/script/dom/htmlbuttonelement.rs
@@ -22,8 +22,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLButtonElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLButtonElementDerived for EventTarget {
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index 3f7d11531bc..d77657ed2df 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -30,8 +30,9 @@ static DefaultHeight: u32 = 150;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLCanvasElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
context: MutNullableJS<CanvasRenderingContext2D>,
width: Cell<u32>,
height: Cell<u32>,
diff --git a/components/script/dom/htmldataelement.rs b/components/script/dom/htmldataelement.rs
index aeafde6d06e..bae4916393b 100644
--- a/components/script/dom/htmldataelement.rs
+++ b/components/script/dom/htmldataelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLDataElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLDataElementDerived for EventTarget {
diff --git a/components/script/dom/htmldatalistelement.rs b/components/script/dom/htmldatalistelement.rs
index 9c57a7176ff..a61299b560b 100644
--- a/components/script/dom/htmldatalistelement.rs
+++ b/components/script/dom/htmldatalistelement.rs
@@ -18,8 +18,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLDataListElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLDataListElementDerived for EventTarget {
diff --git a/components/script/dom/htmldirectoryelement.rs b/components/script/dom/htmldirectoryelement.rs
index b55bd539781..72553bf2a5e 100644
--- a/components/script/dom/htmldirectoryelement.rs
+++ b/components/script/dom/htmldirectoryelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLDirectoryElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLDirectoryElementDerived for EventTarget {
diff --git a/components/script/dom/htmldivelement.rs b/components/script/dom/htmldivelement.rs
index c164beec7d0..cbbcd90c222 100644
--- a/components/script/dom/htmldivelement.rs
+++ b/components/script/dom/htmldivelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLDivElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLDivElementDerived for EventTarget {
diff --git a/components/script/dom/htmldlistelement.rs b/components/script/dom/htmldlistelement.rs
index d107a277faf..983721ac429 100644
--- a/components/script/dom/htmldlistelement.rs
+++ b/components/script/dom/htmldlistelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLDListElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLDListElementDerived for EventTarget {
diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs
index 65f6fb33c36..cc920a50c42 100644
--- a/components/script/dom/htmlelement.rs
+++ b/components/script/dom/htmlelement.rs
@@ -22,8 +22,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLElement {
- pub element: Element
+ element: Element
}
impl HTMLElementDerived for EventTarget {
@@ -48,6 +49,11 @@ impl HTMLElement {
let element = HTMLElement::new_inherited(HTMLElementTypeId, localName, prefix, document);
Node::reflect_node(box element, document, HTMLElementBinding::Wrap)
}
+
+ #[inline]
+ pub fn element<'a>(&'a self) -> &'a Element {
+ &self.element
+ }
}
trait PrivateHTMLElementHelpers {
diff --git a/components/script/dom/htmlembedelement.rs b/components/script/dom/htmlembedelement.rs
index 587a0d375f3..1860a3027f2 100644
--- a/components/script/dom/htmlembedelement.rs
+++ b/components/script/dom/htmlembedelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLEmbedElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLEmbedElementDerived for EventTarget {
diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs
index db043564710..6e59a2456e1 100644
--- a/components/script/dom/htmlfieldsetelement.rs
+++ b/components/script/dom/htmlfieldsetelement.rs
@@ -23,8 +23,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLFieldSetElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLFieldSetElementDerived for EventTarget {
diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs
index 0feede649a4..bd4cf31b33c 100644
--- a/components/script/dom/htmlfontelement.rs
+++ b/components/script/dom/htmlfontelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLFontElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLFontElementDerived for EventTarget {
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 03bd593cb64..55a8ecf0190 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -31,8 +31,9 @@ use url::form_urlencoded::serialize;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLFormElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLFormElementDerived for EventTarget {
diff --git a/components/script/dom/htmlframeelement.rs b/components/script/dom/htmlframeelement.rs
index 62febac5b7f..0f517ef7615 100644
--- a/components/script/dom/htmlframeelement.rs
+++ b/components/script/dom/htmlframeelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLFrameElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLFrameElementDerived for EventTarget {
diff --git a/components/script/dom/htmlframesetelement.rs b/components/script/dom/htmlframesetelement.rs
index a2599a734d6..70ac2eb58e7 100644
--- a/components/script/dom/htmlframesetelement.rs
+++ b/components/script/dom/htmlframesetelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLFrameSetElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLFrameSetElementDerived for EventTarget {
diff --git a/components/script/dom/htmlheadelement.rs b/components/script/dom/htmlheadelement.rs
index c972400c0d6..b1031def2c6 100644
--- a/components/script/dom/htmlheadelement.rs
+++ b/components/script/dom/htmlheadelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLHeadElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLHeadElementDerived for EventTarget {
diff --git a/components/script/dom/htmlheadingelement.rs b/components/script/dom/htmlheadingelement.rs
index ace784a96a9..51df3db00c3 100644
--- a/components/script/dom/htmlheadingelement.rs
+++ b/components/script/dom/htmlheadingelement.rs
@@ -25,9 +25,10 @@ pub enum HeadingLevel {
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLHeadingElement {
- pub htmlelement: HTMLElement,
- pub level: HeadingLevel,
+ htmlelement: HTMLElement,
+ level: HeadingLevel,
}
impl HTMLHeadingElementDerived for EventTarget {
diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs
index 8167c5854f7..e132835f499 100644
--- a/components/script/dom/htmlhrelement.rs
+++ b/components/script/dom/htmlhrelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLHRElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLHRElementDerived for EventTarget {
diff --git a/components/script/dom/htmlhtmlelement.rs b/components/script/dom/htmlhtmlelement.rs
index 279eb740709..bacc8d39650 100644
--- a/components/script/dom/htmlhtmlelement.rs
+++ b/components/script/dom/htmlhtmlelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLHtmlElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLHtmlElementDerived for EventTarget {
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index 94353173333..68ca275682f 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -41,10 +41,11 @@ enum SandboxAllowance {
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLIFrameElement {
- pub htmlelement: HTMLElement,
- pub size: Cell<Option<IFrameSize>>,
- pub sandbox: Cell<Option<u8>>,
+ htmlelement: HTMLElement,
+ size: Cell<Option<IFrameSize>>,
+ sandbox: Cell<Option<u8>>,
}
impl HTMLIFrameElementDerived for EventTarget {
@@ -54,9 +55,22 @@ impl HTMLIFrameElementDerived for EventTarget {
}
#[jstraceable]
+#[privatize]
pub struct IFrameSize {
- pub pipeline_id: PipelineId,
- pub subpage_id: SubpageId,
+ pipeline_id: PipelineId,
+ subpage_id: SubpageId,
+}
+
+impl IFrameSize {
+ #[inline]
+ pub fn pipeline_id<'a>(&'a self) -> &'a PipelineId {
+ &self.pipeline_id
+ }
+
+ #[inline]
+ pub fn subpage_id<'a>(&'a self) -> &'a SubpageId {
+ &self.subpage_id
+ }
}
pub trait HTMLIFrameElementHelpers {
@@ -126,6 +140,11 @@ impl HTMLIFrameElement {
let element = HTMLIFrameElement::new_inherited(localName, prefix, document);
Node::reflect_node(box element, document, HTMLIFrameElementBinding::Wrap)
}
+
+ #[inline]
+ pub fn size(&self) -> Option<IFrameSize> {
+ self.size.get()
+ }
}
impl<'a> HTMLIFrameElementMethods for JSRef<'a, HTMLIFrameElement> {
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs
index 299cb4923ca..5d7ffeb3c22 100644
--- a/components/script/dom/htmlimageelement.rs
+++ b/components/script/dom/htmlimageelement.rs
@@ -26,8 +26,9 @@ use std::cell::RefCell;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLImageElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
image: RefCell<Option<Url>>,
}
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index ab9818d99f0..1e95e718d49 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -45,8 +45,9 @@ enum InputType {
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLInputElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
input_type: Cell<InputType>,
checked: Cell<bool>,
uncommitted_value: RefCell<Option<String>>,
diff --git a/components/script/dom/htmllabelelement.rs b/components/script/dom/htmllabelelement.rs
index 7ff84e0075a..2b4b9aa2da9 100644
--- a/components/script/dom/htmllabelelement.rs
+++ b/components/script/dom/htmllabelelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLLabelElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLLabelElementDerived for EventTarget {
diff --git a/components/script/dom/htmllegendelement.rs b/components/script/dom/htmllegendelement.rs
index 86bf81ca7ec..f5e53167934 100644
--- a/components/script/dom/htmllegendelement.rs
+++ b/components/script/dom/htmllegendelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLLegendElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLLegendElementDerived for EventTarget {
diff --git a/components/script/dom/htmllielement.rs b/components/script/dom/htmllielement.rs
index 948430d3eda..6300d028235 100644
--- a/components/script/dom/htmllielement.rs
+++ b/components/script/dom/htmllielement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLLIElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLLIElementDerived for EventTarget {
diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs
index 41810b51f26..eaaa72d86f3 100644
--- a/components/script/dom/htmllinkelement.rs
+++ b/components/script/dom/htmllinkelement.rs
@@ -23,8 +23,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLLinkElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLLinkElementDerived for EventTarget {
diff --git a/components/script/dom/htmlmapelement.rs b/components/script/dom/htmlmapelement.rs
index 585102c2af9..99a2593801a 100644
--- a/components/script/dom/htmlmapelement.rs
+++ b/components/script/dom/htmlmapelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLMapElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLMapElementDerived for EventTarget {
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index ef841c31a35..4141d7df79c 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -14,8 +14,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLMediaElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLMediaElementDerived for EventTarget {
@@ -34,6 +35,11 @@ impl HTMLMediaElement {
htmlelement: HTMLElement::new_inherited(type_id, tag_name, prefix, document)
}
}
+
+ #[inline]
+ pub fn htmlelement<'a>(&'a self) -> &'a HTMLElement {
+ &self.htmlelement
+ }
}
impl Reflectable for HTMLMediaElement {
diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs
index 34873293440..7f01d7c0ef4 100644
--- a/components/script/dom/htmlmetaelement.rs
+++ b/components/script/dom/htmlmetaelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLMetaElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLMetaElementDerived for EventTarget {
diff --git a/components/script/dom/htmlmeterelement.rs b/components/script/dom/htmlmeterelement.rs
index 1648cde9751..045d6fb513c 100644
--- a/components/script/dom/htmlmeterelement.rs
+++ b/components/script/dom/htmlmeterelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLMeterElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLMeterElementDerived for EventTarget {
diff --git a/components/script/dom/htmlmodelement.rs b/components/script/dom/htmlmodelement.rs
index 35ebb61e6ad..a71ee89c168 100644
--- a/components/script/dom/htmlmodelement.rs
+++ b/components/script/dom/htmlmodelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLModElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLModElementDerived for EventTarget {
diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs
index 1d39c3a07f5..bc61e468045 100644
--- a/components/script/dom/htmlobjectelement.rs
+++ b/components/script/dom/htmlobjectelement.rs
@@ -27,8 +27,9 @@ use url::Url;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLObjectElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLObjectElementDerived for EventTarget {
diff --git a/components/script/dom/htmlolistelement.rs b/components/script/dom/htmlolistelement.rs
index ae36ce0d628..58f73fed5d6 100644
--- a/components/script/dom/htmlolistelement.rs
+++ b/components/script/dom/htmlolistelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLOListElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLOListElementDerived for EventTarget {
diff --git a/components/script/dom/htmloptgroupelement.rs b/components/script/dom/htmloptgroupelement.rs
index 9e0cade682d..e94ea81f9b4 100644
--- a/components/script/dom/htmloptgroupelement.rs
+++ b/components/script/dom/htmloptgroupelement.rs
@@ -20,8 +20,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLOptGroupElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLOptGroupElementDerived for EventTarget {
diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs
index ecd8b2d498b..8c1c5b0989e 100644
--- a/components/script/dom/htmloptionelement.rs
+++ b/components/script/dom/htmloptionelement.rs
@@ -24,8 +24,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLOptionElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLOptionElementDerived for EventTarget {
diff --git a/components/script/dom/htmloutputelement.rs b/components/script/dom/htmloutputelement.rs
index 1442980de26..ec5622c59ac 100644
--- a/components/script/dom/htmloutputelement.rs
+++ b/components/script/dom/htmloutputelement.rs
@@ -17,8 +17,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLOutputElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLOutputElementDerived for EventTarget {
diff --git a/components/script/dom/htmlparagraphelement.rs b/components/script/dom/htmlparagraphelement.rs
index 6b91ba18afc..4a0976c2ff1 100644
--- a/components/script/dom/htmlparagraphelement.rs
+++ b/components/script/dom/htmlparagraphelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLParagraphElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLParagraphElementDerived for EventTarget {
diff --git a/components/script/dom/htmlparamelement.rs b/components/script/dom/htmlparamelement.rs
index 2b664425e85..f729242b879 100644
--- a/components/script/dom/htmlparamelement.rs
+++ b/components/script/dom/htmlparamelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLParamElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLParamElementDerived for EventTarget {
diff --git a/components/script/dom/htmlpreelement.rs b/components/script/dom/htmlpreelement.rs
index 9ec13769e78..22bd185804c 100644
--- a/components/script/dom/htmlpreelement.rs
+++ b/components/script/dom/htmlpreelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLPreElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLPreElementDerived for EventTarget {
diff --git a/components/script/dom/htmlprogresselement.rs b/components/script/dom/htmlprogresselement.rs
index c9506716562..879e86cb6fa 100644
--- a/components/script/dom/htmlprogresselement.rs
+++ b/components/script/dom/htmlprogresselement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLProgressElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLProgressElementDerived for EventTarget {
diff --git a/components/script/dom/htmlquoteelement.rs b/components/script/dom/htmlquoteelement.rs
index 532554254c2..ed5b8f818ce 100644
--- a/components/script/dom/htmlquoteelement.rs
+++ b/components/script/dom/htmlquoteelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLQuoteElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLQuoteElementDerived for EventTarget {
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs
index 3c200b9f324..0168bc8ad98 100644
--- a/components/script/dom/htmlscriptelement.rs
+++ b/components/script/dom/htmlscriptelement.rs
@@ -20,8 +20,9 @@ use servo_util::str::{DOMString, HTML_SPACE_CHARACTERS, StaticStringVec};
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLScriptElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLScriptElementDerived for EventTarget {
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs
index 8c86318c38c..01c9e1c2348 100644
--- a/components/script/dom/htmlselectelement.rs
+++ b/components/script/dom/htmlselectelement.rs
@@ -23,8 +23,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLSelectElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLSelectElementDerived for EventTarget {
diff --git a/components/script/dom/htmlserializer.rs b/components/script/dom/htmlserializer.rs
index f8b57996375..1dd648a6514 100644
--- a/components/script/dom/htmlserializer.rs
+++ b/components/script/dom/htmlserializer.rs
@@ -69,7 +69,7 @@ pub fn serialize(iterator: &mut NodeIterator) -> String {
fn serialize_comment(comment: JSRef<Comment>, html: &mut String) {
html.push_str("<!--");
- html.push_str(comment.characterdata.data.borrow().as_slice());
+ html.push_str(comment.characterdata.data().as_slice());
html.push_str("-->");
}
@@ -82,11 +82,11 @@ fn serialize_text(text: JSRef<Text>, html: &mut String) {
"style" | "script" | "xmp" | "iframe" |
"noembed" | "noframes" | "plaintext" |
"noscript" if elem.namespace == ns!(HTML)
- => html.push_str(text.characterdata.data.borrow().as_slice()),
- _ => escape(text.characterdata.data.borrow().as_slice(), false, html)
+ => html.push_str(text.characterdata().data().as_slice()),
+ _ => escape(text.characterdata().data().as_slice(), false, html)
}
}
- _ => escape(text.characterdata.data.borrow().as_slice(), false, html)
+ _ => escape(text.characterdata().data().as_slice(), false, html)
}
}
@@ -95,7 +95,7 @@ fn serialize_processing_instruction(processing_instruction: JSRef<ProcessingInst
html.push_str("<?");
html.push_str(processing_instruction.target.as_slice());
html.push_char(' ');
- html.push_str(processing_instruction.characterdata.data.borrow().as_slice());
+ html.push_str(processing_instruction.characterdata.data().as_slice());
html.push_str("?>");
}
@@ -120,7 +120,7 @@ fn serialize_elem(elem: JSRef<Element>, open_elements: &mut Vec<String>, html: &
match node.first_child().map(|child| child.root()) {
Some(ref child) if child.is_text() => {
let text: JSRef<CharacterData> = CharacterDataCast::to_ref(**child).unwrap();
- if text.data.borrow().len() > 0 && text.data.borrow().as_slice().char_at(0) == '\n' {
+ if text.data().len() > 0 && text.data().as_slice().char_at(0) == '\n' {
html.push_char('\x0A');
}
},
diff --git a/components/script/dom/htmlsourceelement.rs b/components/script/dom/htmlsourceelement.rs
index 07d971c0dff..587262ebf3f 100644
--- a/components/script/dom/htmlsourceelement.rs
+++ b/components/script/dom/htmlsourceelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLSourceElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLSourceElementDerived for EventTarget {
diff --git a/components/script/dom/htmlspanelement.rs b/components/script/dom/htmlspanelement.rs
index a3a55d5b00a..2dea84ed3c6 100644
--- a/components/script/dom/htmlspanelement.rs
+++ b/components/script/dom/htmlspanelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLSpanElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLSpanElementDerived for EventTarget {
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs
index b0c190b7aeb..cf0a19243b4 100644
--- a/components/script/dom/htmlstyleelement.rs
+++ b/components/script/dom/htmlstyleelement.rs
@@ -19,8 +19,9 @@ use style::Stylesheet;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLStyleElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLStyleElementDerived for EventTarget {
diff --git a/components/script/dom/htmltablecaptionelement.rs b/components/script/dom/htmltablecaptionelement.rs
index 68a0feab854..01f7d3a5731 100644
--- a/components/script/dom/htmltablecaptionelement.rs
+++ b/components/script/dom/htmltablecaptionelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableCaptionElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLTableCaptionElementDerived for EventTarget {
diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs
index f4fc2002fa9..97d85976614 100644
--- a/components/script/dom/htmltablecellelement.rs
+++ b/components/script/dom/htmltablecellelement.rs
@@ -14,8 +14,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableCellElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTableCellElementDerived for EventTarget {
@@ -34,6 +35,11 @@ impl HTMLTableCellElement {
htmlelement: HTMLElement::new_inherited(type_id, tag_name, prefix, document)
}
}
+
+ #[inline]
+ pub fn htmlelement<'a>(&'a self) -> &'a HTMLElement {
+ &self.htmlelement
+ }
}
impl Reflectable for HTMLTableCellElement {
diff --git a/components/script/dom/htmltablecolelement.rs b/components/script/dom/htmltablecolelement.rs
index 88bc8b7beb5..9954bc1b09b 100644
--- a/components/script/dom/htmltablecolelement.rs
+++ b/components/script/dom/htmltablecolelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableColElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTableColElementDerived for EventTarget {
diff --git a/components/script/dom/htmltabledatacellelement.rs b/components/script/dom/htmltabledatacellelement.rs
index 83569b1e08c..f4024581a49 100644
--- a/components/script/dom/htmltabledatacellelement.rs
+++ b/components/script/dom/htmltabledatacellelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableDataCellElement {
- pub htmltablecellelement: HTMLTableCellElement,
+ htmltablecellelement: HTMLTableCellElement,
}
impl HTMLTableDataCellElementDerived for EventTarget {
diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs
index 1d9b4eff9d0..8faa3c573ad 100644
--- a/components/script/dom/htmltableelement.rs
+++ b/components/script/dom/htmltableelement.rs
@@ -19,8 +19,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTableElementDerived for EventTarget {
diff --git a/components/script/dom/htmltableheadercellelement.rs b/components/script/dom/htmltableheadercellelement.rs
index 056c7b9d789..65db1e2c500 100644
--- a/components/script/dom/htmltableheadercellelement.rs
+++ b/components/script/dom/htmltableheadercellelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableHeaderCellElement {
- pub htmltablecellelement: HTMLTableCellElement,
+ htmltablecellelement: HTMLTableCellElement,
}
impl HTMLTableHeaderCellElementDerived for EventTarget {
diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs
index 51fb63bd7e8..3552147fd96 100644
--- a/components/script/dom/htmltablerowelement.rs
+++ b/components/script/dom/htmltablerowelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableRowElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTableRowElementDerived for EventTarget {
diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs
index 7b3eb02ebc1..a4d9f3ad91b 100644
--- a/components/script/dom/htmltablesectionelement.rs
+++ b/components/script/dom/htmltablesectionelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTableSectionElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTableSectionElementDerived for EventTarget {
diff --git a/components/script/dom/htmltemplateelement.rs b/components/script/dom/htmltemplateelement.rs
index 523b8b8bae0..dcb4812c5dc 100644
--- a/components/script/dom/htmltemplateelement.rs
+++ b/components/script/dom/htmltemplateelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTemplateElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTemplateElementDerived for EventTarget {
diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs
index d109a26c524..19a59a899e4 100644
--- a/components/script/dom/htmltextareaelement.rs
+++ b/components/script/dom/htmltextareaelement.rs
@@ -20,8 +20,9 @@ use string_cache::Atom;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTextAreaElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTextAreaElementDerived for EventTarget {
diff --git a/components/script/dom/htmltimeelement.rs b/components/script/dom/htmltimeelement.rs
index 5d71321b88b..be8dafbcfef 100644
--- a/components/script/dom/htmltimeelement.rs
+++ b/components/script/dom/htmltimeelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTimeElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLTimeElementDerived for EventTarget {
diff --git a/components/script/dom/htmltitleelement.rs b/components/script/dom/htmltitleelement.rs
index 1004d1c7473..22b3a731002 100644
--- a/components/script/dom/htmltitleelement.rs
+++ b/components/script/dom/htmltitleelement.rs
@@ -18,8 +18,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTitleElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTitleElementDerived for EventTarget {
@@ -50,7 +51,7 @@ impl<'a> HTMLTitleElementMethods for JSRef<'a, HTMLTitleElement> {
for child in node.children() {
let text: Option<JSRef<Text>> = TextCast::to_ref(child);
match text {
- Some(text) => content.push_str(text.characterdata.data.borrow().as_slice()),
+ Some(text) => content.push_str(text.characterdata().data().as_slice()),
None => (),
}
}
diff --git a/components/script/dom/htmltrackelement.rs b/components/script/dom/htmltrackelement.rs
index a1c5c428d74..d73007310a6 100644
--- a/components/script/dom/htmltrackelement.rs
+++ b/components/script/dom/htmltrackelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLTrackElement {
- pub htmlelement: HTMLElement,
+ htmlelement: HTMLElement,
}
impl HTMLTrackElementDerived for EventTarget {
diff --git a/components/script/dom/htmlulistelement.rs b/components/script/dom/htmlulistelement.rs
index ffeb8affa11..b23b979c05c 100644
--- a/components/script/dom/htmlulistelement.rs
+++ b/components/script/dom/htmlulistelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLUListElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLUListElementDerived for EventTarget {
diff --git a/components/script/dom/htmlunknownelement.rs b/components/script/dom/htmlunknownelement.rs
index f39329c8e1f..15329bd453f 100644
--- a/components/script/dom/htmlunknownelement.rs
+++ b/components/script/dom/htmlunknownelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLUnknownElement {
- pub htmlelement: HTMLElement
+ htmlelement: HTMLElement
}
impl HTMLUnknownElementDerived for EventTarget {
diff --git a/components/script/dom/htmlvideoelement.rs b/components/script/dom/htmlvideoelement.rs
index ecbabaa906b..c7626fc1987 100644
--- a/components/script/dom/htmlvideoelement.rs
+++ b/components/script/dom/htmlvideoelement.rs
@@ -15,8 +15,9 @@ use servo_util::str::DOMString;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct HTMLVideoElement {
- pub htmlmediaelement: HTMLMediaElement
+ htmlmediaelement: HTMLMediaElement
}
impl HTMLVideoElementDerived for EventTarget {
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 9ef523ba9e9..98f39bf4888 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -1144,6 +1144,11 @@ impl Node {
}
}
+ #[inline]
+ pub fn eventtarget<'a>(&'a self) -> &'a EventTarget {
+ &self.eventtarget
+ }
+
// http://dom.spec.whatwg.org/#concept-node-adopt
pub fn adopt(node: JSRef<Node>, document: JSRef<Document>) {
// Step 1.
@@ -1464,7 +1469,7 @@ impl Node {
},
CommentNodeTypeId => {
let comment: JSRef<Comment> = CommentCast::to_ref(node).unwrap();
- let comment = Comment::new(comment.characterdata.data.borrow().clone(), *document);
+ let comment = Comment::new(comment.characterdata.data().clone(), *document);
NodeCast::from_temporary(comment)
},
DocumentNodeTypeId => {
@@ -1486,13 +1491,13 @@ impl Node {
},
TextNodeTypeId => {
let text: JSRef<Text> = TextCast::to_ref(node).unwrap();
- let text = Text::new(text.characterdata.data.borrow().clone(), *document);
+ let text = Text::new(text.characterdata().data().clone(), *document);
NodeCast::from_temporary(text)
},
ProcessingInstructionNodeTypeId => {
let pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap();
let pi = ProcessingInstruction::new(pi.target.clone(),
- pi.characterdata.data.borrow().clone(), *document);
+ pi.characterdata.data().clone(), *document);
NodeCast::from_temporary(pi)
},
}.root();
@@ -1569,7 +1574,7 @@ impl Node {
for node in iterator {
let text: Option<JSRef<Text>> = TextCast::to_ref(node);
match text {
- Some(text) => content.push_str(text.characterdata.data.borrow().as_slice()),
+ Some(text) => content.push_str(text.characterdata().data().as_slice()),
None => (),
}
}
@@ -1759,7 +1764,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
self.wait_until_safe_to_modify_dom();
let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(self).unwrap();
- *characterdata.data.borrow_mut() = value;
+ characterdata.set_data(value);
// Notify the document that the content of this node is different
let document = self.owner_doc().root();
@@ -1970,12 +1975,12 @@ 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.borrow() == *other_pi.characterdata.data.borrow())
+ (*pi.characterdata.data() == *other_pi.characterdata.data())
}
fn is_equal_characterdata(node: JSRef<Node>, other: JSRef<Node>) -> bool {
let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(node).unwrap();
let other_characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(other).unwrap();
- *characterdata.data.borrow() == *other_characterdata.data.borrow()
+ *characterdata.data() == *other_characterdata.data()
}
fn is_equal_element_attrs(node: JSRef<Node>, other: JSRef<Node>) -> bool {
let element: JSRef<Element> = ElementCast::to_ref(node).unwrap();
diff --git a/components/script/dom/text.rs b/components/script/dom/text.rs
index b073f8ec298..7e251fd0b99 100644
--- a/components/script/dom/text.rs
+++ b/components/script/dom/text.rs
@@ -18,8 +18,9 @@ use servo_util::str::DOMString;
/// An HTML text node.
#[jstraceable]
#[must_root]
+#[privatize]
pub struct Text {
- pub characterdata: CharacterData,
+ characterdata: CharacterData,
}
impl TextDerived for EventTarget {
@@ -44,6 +45,11 @@ impl Text {
let document = global.as_window().Document().root();
Ok(Text::new(text, *document))
}
+
+ #[inline]
+ pub fn characterdata<'a>(&'a self) -> &'a CharacterData {
+ &self.characterdata
+ }
}
impl Reflectable for Text {
diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs
index 18fe2dc3585..126ae4d6432 100644
--- a/components/script/dom/uievent.rs
+++ b/components/script/dom/uievent.rs
@@ -21,8 +21,9 @@ use std::default::Default;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct UIEvent {
- pub event: Event,
+ event: Event,
view: MutNullableJS<Window>,
detail: Cell<i32>
}
@@ -67,6 +68,11 @@ impl UIEvent {
init.view.root_ref(), init.detail);
Ok(event)
}
+
+ #[inline]
+ pub fn event<'a>(&'a self) -> &'a Event {
+ &self.event
+ }
}
impl<'a> UIEventMethods for JSRef<'a, UIEvent> {
diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs
index 355fb3f2cc3..a545cf05fbe 100644
--- a/components/script/dom/workerglobalscope.rs
+++ b/components/script/dom/workerglobalscope.rs
@@ -32,8 +32,9 @@ pub enum WorkerGlobalScopeId {
#[jstraceable]
#[must_root]
+#[privatize]
pub struct WorkerGlobalScope {
- pub eventtarget: EventTarget,
+ eventtarget: EventTarget,
worker_url: Url,
js_context: Rc<Cx>,
resource_task: ResourceTask,
@@ -61,6 +62,11 @@ impl WorkerGlobalScope {
}
}
+ #[inline]
+ pub fn eventtarget<'a>(&'a self) -> &'a EventTarget {
+ &self.eventtarget
+ }
+
pub fn get_cx(&self) -> *mut JSContext {
self.js_context.ptr
}
diff --git a/components/script/dom/xmlhttprequesteventtarget.rs b/components/script/dom/xmlhttprequesteventtarget.rs
index 9345c676a89..1b0954daf32 100644
--- a/components/script/dom/xmlhttprequesteventtarget.rs
+++ b/components/script/dom/xmlhttprequesteventtarget.rs
@@ -13,8 +13,9 @@ use dom::xmlhttprequest::XMLHttpRequestId;
#[jstraceable]
#[must_root]
+#[privatize]
pub struct XMLHttpRequestEventTarget {
- pub eventtarget: EventTarget,
+ eventtarget: EventTarget,
}
impl XMLHttpRequestEventTarget {
@@ -23,6 +24,11 @@ impl XMLHttpRequestEventTarget {
eventtarget: EventTarget::new_inherited(XMLHttpRequestTargetTypeId(type_id))
}
}
+
+ #[inline]
+ pub fn eventtarget<'a>(&'a self) -> &'a EventTarget {
+ &self.eventtarget
+ }
}
impl XMLHttpRequestEventTargetDerived for EventTarget {
fn is_xmlhttprequesteventtarget(&self) -> bool {
diff --git a/components/script/html/hubbub_html_parser.rs b/components/script/html/hubbub_html_parser.rs
index 4b943a4409a..27f37984517 100644
--- a/components/script/html/hubbub_html_parser.rs
+++ b/components/script/html/hubbub_html_parser.rs
@@ -503,7 +503,7 @@ pub fn parse_html(page: &Page,
for child in scriptnode.children() {
debug!("child = {:?}", child);
let text: JSRef<Text> = TextCast::to_ref(child).unwrap();
- data.push_str(text.characterdata.data.borrow().as_slice());
+ data.push_str(text.characterdata().data().as_slice());
}
debug!("script data = {:?}", data);