aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-06-06 07:45:43 -0500
committerbors-servo <metajack+bors@gmail.com>2015-06-06 07:45:43 -0500
commit493f96b9ab73d41286407a78930f481a6f1b94e9 (patch)
treed0a636aee9d7dfa013a7fb5b314a9777b01b9b6c
parent458a5324618b8e58565d686fdea3363a31e11973 (diff)
parent57f575b5ca62fab1bce80eea7061f59fdd5586da (diff)
downloadservo-493f96b9ab73d41286407a78930f481a6f1b94e9.tar.gz
servo-493f96b9ab73d41286407a78930f481a6f1b94e9.zip
Auto merge of #6291 - Ms2ger:caption, r=nox
<!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6291) <!-- Reviewable:end -->
-rw-r--r--components/script/dom/htmltableelement.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs
index a32c3e7e452..0f254f07ad6 100644
--- a/components/script/dom/htmltableelement.rs
+++ b/components/script/dom/htmltableelement.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::HTMLTableElementBinding;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableCaptionElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLTableElementDerived, NodeCast};
-use dom::bindings::js::{JSRef, Rootable, Temporary};
+use dom::bindings::js::{JSRef, Rootable, Temporary, OptionalRootable, RootedReference};
use dom::document::Document;
use dom::eventtarget::{EventTarget, EventTargetTypeId};
use dom::element::ElementTypeId;
@@ -79,21 +79,14 @@ impl<'a> HTMLTableElementMethods for JSRef<'a, HTMLTableElement> {
// https://www.whatwg.org/html/#dom-table-caption
fn SetCaption(self, new_caption: Option<JSRef<HTMLTableCaptionElement>>) {
let node: JSRef<Node> = NodeCast::from_ref(self);
- let old_caption = self.GetCaption();
- match old_caption {
- Some(htmlelem) => {
- let htmlelem_root = htmlelem.root();
- let old_caption_node: JSRef<Node> = NodeCast::from_ref(htmlelem_root.r());
- assert!(node.RemoveChild(old_caption_node).is_ok());
- }
- None => ()
+ if let Some(ref caption) = self.GetCaption().root() {
+ assert!(node.RemoveChild(NodeCast::from_ref(caption.r())).is_ok());
}
- new_caption.map(|caption| {
- let new_caption_node: JSRef<Node> = NodeCast::from_ref(caption);
- assert!(node.AppendChild(new_caption_node).is_ok());
- });
+ if let Some(caption) = new_caption {
+ assert!(node.AppendChild(NodeCast::from_ref(caption)).is_ok());
+ }
}
}