diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/comment.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/document.rs | 8 | ||||
-rw-r--r-- | src/components/script/dom/domparser.rs | 4 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 10 | ||||
-rw-r--r-- | src/components/script/dom/htmldocument.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/text.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/window.rs | 6 |
8 files changed, 19 insertions, 19 deletions
diff --git a/src/components/script/dom/comment.rs b/src/components/script/dom/comment.rs index 51140177f95..7d628434894 100644 --- a/src/components/script/dom/comment.rs +++ b/src/components/script/dom/comment.rs @@ -23,7 +23,7 @@ impl Comment { pub fn Constructor(owner: @mut Window, data: &DOMString) -> Fallible<AbstractNode<ScriptView>> { let s = null_str_as_empty(data); - let cx = (*owner.page).js_info.get_ref().js_compartment.cx.ptr; + let cx = owner.get_cx(); let comment = @Comment::new(s, owner.Document()); Ok(unsafe { Node::as_abstract_node(cx, comment) }) } diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index a8c417b986b..8053ed53c7e 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -124,7 +124,7 @@ impl Document { } pub fn Constructor(owner: @mut Window) -> Fallible<AbstractDocument> { - let cx = owner.page.js_info.get_ref().js_compartment.cx.ptr; + let cx = owner.get_cx(); let document = AbstractDocument::as_abstract(cx, @mut Document::new(None, XML)); @@ -241,14 +241,12 @@ impl Document { } fn get_cx(&self) -> *JSContext { - let win = self.window.get_ref(); - win.page.js_info.get_ref().js_compartment.cx.ptr + self.window.get_ref().get_cx() } fn get_scope_and_cx(&self) -> (*JSObject, *JSContext) { let win = self.window.get_ref(); - let cx = win.page.js_info.get_ref().js_compartment.cx.ptr; - (win.reflector().get_jsobject(), cx) + (win.reflector().get_jsobject(), win.get_cx()) } pub fn GetElementsByTagName(&self, tag: &DOMString) -> @mut HTMLCollection { diff --git a/src/components/script/dom/domparser.rs b/src/components/script/dom/domparser.rs index 749e1cea002..16d3c3ca46c 100644 --- a/src/components/script/dom/domparser.rs +++ b/src/components/script/dom/domparser.rs @@ -26,7 +26,7 @@ impl DOMParser { }; // TODO(tkuehn): This just handles the top-level page. Need to handle subframes. - let cx = owner.page.js_info.get_ref().js_compartment.cx.ptr; + let cx = owner.get_cx(); let scope = owner.reflector().get_jsobject(); parser.wrap_object_shared(cx, scope); parser @@ -40,7 +40,7 @@ impl DOMParser { _s: &DOMString, ty: DOMParserBinding::SupportedType) -> Fallible<AbstractDocument> { - let cx = (*self.owner.page).js_info.get_ref().js_compartment.cx.ptr; + let cx = self.owner.get_cx(); let document = match ty { Text_html => { HTMLDocument::new(None) diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 51d7c609c98..0e5da976b87 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -278,12 +278,11 @@ impl Element { let win = document.with_base(|doc| doc.window).expect("no window"); let node = abstract_self; assert!(node.is_element()); - let page = win.page; let (port, chan) = comm::stream(); let (rects, cx, scope) = - match page.query_layout(ContentBoxesQuery(node, chan), port) { + match win.page.query_layout(ContentBoxesQuery(node, chan), port) { ContentBoxesResponse(rects) => { - let cx = page.js_info.get_ref().js_compartment.cx.ptr; + let cx = win.get_cx(); let scope = win.reflector().get_jsobject(); let rects = do rects.map |r| { ClientRect::new( @@ -304,13 +303,12 @@ impl Element { pub fn GetBoundingClientRect(&self, abstract_self: AbstractNode<ScriptView>) -> @mut ClientRect { let document = self.node.owner_doc; let win = document.with_base(|doc| doc.window).expect("no window"); - let page = win.page; let node = abstract_self; assert!(node.is_element()); let (port, chan) = comm::stream(); - match page.query_layout(ContentBoxQuery(node, chan), port) { + match win.page.query_layout(ContentBoxQuery(node, chan), port) { ContentBoxResponse(rect) => { - let cx = page.js_info.get_ref().js_compartment.cx.ptr; + let cx = win.get_cx(); let scope = win.reflector().get_jsobject(); ClientRect::new( rect.origin.y.to_f32(), diff --git a/src/components/script/dom/htmldocument.rs b/src/components/script/dom/htmldocument.rs index 5d9641d81a0..c455bd41c7e 100644 --- a/src/components/script/dom/htmldocument.rs +++ b/src/components/script/dom/htmldocument.rs @@ -29,8 +29,7 @@ impl HTMLDocument { parent: Document::new(window, HTML) }; - let compartment = window.get_ref().page.js_info.get_ref().js_compartment; - AbstractDocument::as_abstract(compartment.cx.ptr, doc) + AbstractDocument::as_abstract(window.get_ref().get_cx(), doc) } } diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index 46ddc57ec36..7a34c52d66f 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -651,8 +651,7 @@ impl Node<ScriptView> { pub fn get_scope_and_cx(&self) -> (*JSObject, *JSContext) { let win = self.owner_doc.with_base(|doc| doc.window.unwrap()); - let cx = win.page.js_info.get_ref().js_compartment.cx.ptr; - (win.reflector().get_jsobject(), cx) + (win.reflector().get_jsobject(), win.get_cx()) } // http://dom.spec.whatwg.org/#concept-node-replace-all diff --git a/src/components/script/dom/text.rs b/src/components/script/dom/text.rs index 793ee18f000..71c538a7d6c 100644 --- a/src/components/script/dom/text.rs +++ b/src/components/script/dom/text.rs @@ -22,7 +22,7 @@ impl Text { } pub fn Constructor(owner: @mut Window, text: &DOMString) -> Fallible<AbstractNode<ScriptView>> { - let cx = owner.page.js_info.get_ref().js_compartment.cx.ptr; + let cx = owner.get_cx(); let text = @Text::new(null_str_as_empty(text), owner.Document()); Ok(unsafe { Node::as_abstract_node(cx, text) }) } diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs index e148eef10a1..52850873ae7 100644 --- a/src/components/script/dom/window.rs +++ b/src/components/script/dom/window.rs @@ -50,6 +50,12 @@ pub struct Window { next_timer_handle: i32, } +impl Window { + pub fn get_cx(&self) -> *JSObject { + self.page.js_info.get_ref().js_compartment.cx.ptr + } +} + #[unsafe_destructor] impl Drop for Window { fn drop(&self) { |