diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/node.rs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 448d50620fb..81946a2738e 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -73,9 +73,10 @@ use uuid; /// An HTML node. #[jstraceable] #[must_root] +#[privatize] pub struct Node { /// The JavaScript reflector for this node. - pub eventtarget: EventTarget, + eventtarget: EventTarget, /// The type of node that this is. type_id: NodeTypeId, @@ -108,7 +109,7 @@ pub struct Node { /// /// Must be sent back to the layout task to be destroyed when this /// node is finalized. - pub layout_data: LayoutDataRef, + layout_data: LayoutDataRef, unique_id: RefCell<String>, } @@ -1149,6 +1150,21 @@ impl Node { &self.eventtarget } + #[inline] + pub fn layout_data(&self) -> Ref<Option<LayoutData>> { + self.layout_data.borrow() + } + + #[inline] + pub fn layout_data_mut(&self) -> RefMut<Option<LayoutData>> { + self.layout_data.borrow_mut() + } + + #[inline] + pub unsafe fn layout_data_unchecked(&self) -> *const Option<LayoutData> { + self.layout_data.borrow_unchecked() + } + // http://dom.spec.whatwg.org/#concept-node-adopt pub fn adopt(node: JSRef<Node>, document: JSRef<Document>) { // Step 1. |