aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/attr.rs
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-06-08 17:05:38 +0200
committerMs2ger <ms2ger@gmail.com>2014-06-13 14:13:29 +0200
commitb012c99e05ce6eb2bb4b55ebb3d5c1a5a3bd48f7 (patch)
tree0e4c5ae85cf0a138ede869e1d698c704bd03c4d6 /src/components/script/dom/attr.rs
parent972c69883e2014a84a010790a88f234f9397583b (diff)
downloadservo-b012c99e05ce6eb2bb4b55ebb3d5c1a5a3bd48f7.tar.gz
servo-b012c99e05ce6eb2bb4b55ebb3d5c1a5a3bd48f7.zip
Implement parsed 'unsigned long' attributes.
This commit is partially based on earlier work by Bruno Abinader in #2073.
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(),
}
}
}