aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmltableelement.rs
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2015-11-09 18:31:29 -0500
committerCorey Farwell <coreyf@rwell.org>2015-11-09 20:35:29 -0500
commit71aa2392f8632fd66d76a5460d5043e5cdd6b996 (patch)
treeed0aa948cb1af6bc294641dcb2f1e61b3b942d10 /components/script/dom/htmltableelement.rs
parent73314ab10ce27e2f0860520dadeee2ce6eb88f3c (diff)
downloadservo-71aa2392f8632fd66d76a5460d5043e5cdd6b996.tar.gz
servo-71aa2392f8632fd66d76a5460d5043e5cdd6b996.zip
Remove HTMLTableElement::width struct field
Diffstat (limited to 'components/script/dom/htmltableelement.rs')
-rw-r--r--components/script/dom/htmltableelement.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs
index 548cf240b9b..ca22d1f92b3 100644
--- a/components/script/dom/htmltableelement.rs
+++ b/components/script/dom/htmltableelement.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
use dom::bindings::js::{LayoutJS, Root, RootedReference};
use dom::document::Document;
-use dom::element::{AttributeMutation, Element};
+use dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
use dom::htmlelement::HTMLElement;
use dom::htmltablecaptionelement::HTMLTableCaptionElement;
use dom::htmltablesectionelement::HTMLTableSectionElement;
@@ -26,7 +26,6 @@ pub struct HTMLTableElement {
background_color: Cell<Option<RGBA>>,
border: Cell<Option<u32>>,
cellspacing: Cell<Option<u32>>,
- width: Cell<LengthOrPercentageOrAuto>,
}
impl HTMLTableElement {
@@ -37,7 +36,6 @@ impl HTMLTableElement {
background_color: Cell::new(None),
border: Cell::new(None),
cellspacing: Cell::new(None),
- width: Cell::new(LengthOrPercentageOrAuto::Auto),
}
}
@@ -151,7 +149,11 @@ impl HTMLTableElementLayoutHelpers for LayoutJS<HTMLTableElement> {
#[allow(unsafe_code)]
fn get_width(&self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.unsafe_get()).width.get()
+ (*self.upcast::<Element>().unsafe_get())
+ .get_attr_for_layout(&ns!(""), &atom!("width"))
+ .map(AttrValue::as_dimension)
+ .cloned()
+ .unwrap_or(LengthOrPercentageOrAuto::Auto)
}
}
}
@@ -180,12 +182,6 @@ impl VirtualMethods for HTMLTableElement {
str::parse_unsigned_integer(value.chars())
}));
},
- atom!(width) => {
- let width = mutation.new_value(attr).map(|value| {
- str::parse_length(&value)
- });
- self.width.set(width.unwrap_or(LengthOrPercentageOrAuto::Auto));
- },
_ => {},
}
}
@@ -193,6 +189,7 @@ impl VirtualMethods for HTMLTableElement {
fn parse_plain_attribute(&self, local_name: &Atom, value: DOMString) -> AttrValue {
match *local_name {
atom!("border") => AttrValue::from_u32(value, 1),
+ atom!("width") => AttrValue::from_dimension(value),
_ => self.super_type().unwrap().parse_plain_attribute(local_name, value),
}
}