diff options
author | bors-servo <release+servo@mozilla.com> | 2013-10-16 02:37:09 -0700 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2013-10-16 02:37:09 -0700 |
commit | 509934cf65acb1061cf4b012556ff6782e3203c9 (patch) | |
tree | 4fe54c25f2996a480d55a69951dcd8ba75634e4b /src/components/script/dom/htmlimageelement.rs | |
parent | c9c9eec3d8cdb68f43352b777c3b138c743bc103 (diff) | |
parent | 60b6d1bb57e018526a8702bff66fce1d84644afe (diff) | |
download | servo-509934cf65acb1061cf4b012556ff6782e3203c9.tar.gz servo-509934cf65acb1061cf4b012556ff6782e3203c9.zip |
auto merge of #1072 : Ms2ger/servo/crash-domparser, r=jdm
Turns out that documents without a window `fail!` a lot, because we need the `cx` all over.
Diffstat (limited to 'src/components/script/dom/htmlimageelement.rs')
-rw-r--r-- | src/components/script/dom/htmlimageelement.rs | 43 |
1 files changed, 13 insertions, 30 deletions
diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs index 6903120a09e..673886037e3 100644 --- a/src/components/script/dom/htmlimageelement.rs +++ b/src/components/script/dom/htmlimageelement.rs @@ -44,10 +44,9 @@ impl HTMLImageElement { if "src" == name { let doc = self.htmlelement.element.node.owner_doc; do doc.with_base |doc| { - for window in doc.window.iter() { - let url = window.page.url.map(|&(ref url, _)| url.clone()); - self.update_image(window.image_cache_task.clone(), url); - } + let window = doc.window; + let url = window.page.url.map(|&(ref url, _)| url.clone()); + self.update_image(window.image_cache_task.clone(), url); } } } @@ -100,19 +99,11 @@ impl HTMLImageElement { pub fn Width(&self, abstract_self: AbstractNode<ScriptView>) -> u32 { let node = &self.htmlelement.element.node; - match node.owner_doc.with_base(|doc| doc.window) { - Some(win) => { - let page = win.page; - let (port, chan) = stream(); - match page.query_layout(ContentBoxQuery(abstract_self, chan), port) { - ContentBoxResponse(rect) => { - to_px(rect.size.width) as u32 - } - } - } - None => { - debug!("no window"); - 0 + let page = node.owner_doc.with_base(|doc| doc.window).page; + let (port, chan) = stream(); + match page.query_layout(ContentBoxQuery(abstract_self, chan), port) { + ContentBoxResponse(rect) => { + to_px(rect.size.width) as u32 } } } @@ -129,19 +120,11 @@ impl HTMLImageElement { pub fn Height(&self, abstract_self: AbstractNode<ScriptView>) -> u32 { let node = &self.htmlelement.element.node; - match node.owner_doc.with_base(|doc| doc.window) { - Some(win) => { - let page = win.page; - let (port, chan) = stream(); - match page.query_layout(ContentBoxQuery(abstract_self, chan), port) { - ContentBoxResponse(rect) => { - to_px(rect.size.height) as u32 - } - } - } - None => { - debug!("no window"); - 0 + let page = node.owner_doc.with_base(|doc| doc.window).page; + let (port, chan) = stream(); + match page.query_layout(ContentBoxQuery(abstract_self, chan), port) { + ContentBoxResponse(rect) => { + to_px(rect.size.height) as u32 } } } |