Skip to content

Commit

Permalink
Privatize InheritTypes
Browse files Browse the repository at this point in the history
  • Loading branch information
ttaubert committed Oct 13, 2014
1 parent acd98a7 commit 9a52bb8
Show file tree
Hide file tree
Showing 80 changed files with 252 additions and 101 deletions.
8 changes: 4 additions & 4 deletions components/layout/wrapper.rs
Expand Up @@ -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())
}
}

Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion components/script/dom/bindings/codegen/CodegenRust.py
Expand Up @@ -5452,7 +5452,7 @@ def InheritTypes(config):
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(),
Expand Down
22 changes: 19 additions & 3 deletions components/script/dom/characterdata.rs
Expand Up @@ -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 {
Expand All @@ -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> {
Expand Down
2 changes: 1 addition & 1 deletion components/script/dom/document.rs
Expand Up @@ -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());
}
}
});
Expand Down
5 changes: 5 additions & 0 deletions components/script/dom/element.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlanchorelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlappletelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlareaelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlaudioelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlbaseelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlbodyelement.rs
Expand Up @@ -22,8 +22,9 @@ use string_cache::Atom;

#[jstraceable]
#[must_root]
#[privatize]
pub struct HTMLBodyElement {
pub htmlelement: HTMLElement
htmlelement: HTMLElement
}

impl HTMLBodyElementDerived for EventTarget {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlbrelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlbuttonelement.rs
Expand Up @@ -22,8 +22,9 @@ use string_cache::Atom;

#[jstraceable]
#[must_root]
#[privatize]
pub struct HTMLButtonElement {
pub htmlelement: HTMLElement
htmlelement: HTMLElement
}

impl HTMLButtonElementDerived for EventTarget {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlcanvaselement.rs
Expand Up @@ -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>,
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmldataelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmldatalistelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmldirectoryelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmldivelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmldlistelement.rs
Expand Up @@ -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 {
Expand Down
8 changes: 7 additions & 1 deletion components/script/dom/htmlelement.rs
Expand Up @@ -22,8 +22,9 @@ use string_cache::Atom;

#[jstraceable]
#[must_root]
#[privatize]
pub struct HTMLElement {
pub element: Element
element: Element
}

impl HTMLElementDerived for EventTarget {
Expand All @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlembedelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlfieldsetelement.rs
Expand Up @@ -23,8 +23,9 @@ use string_cache::Atom;

#[jstraceable]
#[must_root]
#[privatize]
pub struct HTMLFieldSetElement {
pub htmlelement: HTMLElement
htmlelement: HTMLElement
}

impl HTMLFieldSetElementDerived for EventTarget {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlfontelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlformelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlframeelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlframesetelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlheadelement.rs
Expand Up @@ -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 {
Expand Down
5 changes: 3 additions & 2 deletions components/script/dom/htmlheadingelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlhrelement.rs
Expand Up @@ -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 {
Expand Down
3 changes: 2 additions & 1 deletion components/script/dom/htmlhtmlelement.rs
Expand Up @@ -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 {
Expand Down

0 comments on commit 9a52bb8

Please sign in to comment.