aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/attr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/attr.rs')
-rw-r--r--src/components/script/dom/attr.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/components/script/dom/attr.rs b/src/components/script/dom/attr.rs
index f31a281b36d..c8e5ad88527 100644
--- a/src/components/script/dom/attr.rs
+++ b/src/components/script/dom/attr.rs
@@ -24,6 +24,7 @@ pub enum AttrSettingType {
pub enum AttrValue {
StringAttrValue(DOMString),
TokenListAttrValue(DOMString, Vec<(uint, uint)>),
+ UIntAttrValue(DOMString, u32),
}
impl AttrValue {
@@ -39,10 +40,16 @@ impl AttrValue {
return TokenListAttrValue(list, indexes);
}
+ pub fn from_u32(string: DOMString, default: u32) -> AttrValue {
+ let result: u32 = from_str(string.as_slice()).unwrap_or(default);
+ UIntAttrValue(string, result)
+ }
+
pub fn as_slice<'a>(&'a self) -> &'a str {
match *self {
StringAttrValue(ref value) |
- TokenListAttrValue(ref value, _) => value.as_slice(),
+ TokenListAttrValue(ref value, _) |
+ UIntAttrValue(ref value, _) => value.as_slice(),
}
}
}