diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-06-08 17:05:38 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-06-13 14:13:29 +0200 |
commit | b012c99e05ce6eb2bb4b55ebb3d5c1a5a3bd48f7 (patch) | |
tree | 0e4c5ae85cf0a138ede869e1d698c704bd03c4d6 /src/components/script/dom/attr.rs | |
parent | 972c69883e2014a84a010790a88f234f9397583b (diff) | |
download | servo-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.rs | 9 |
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(), } } } |