aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlimageelement.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/htmlimageelement.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/htmlimageelement.rs')
-rw-r--r--src/components/script/dom/htmlimageelement.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs
index d2a0346c879..2d8f7fe52f2 100644
--- a/src/components/script/dom/htmlimageelement.rs
+++ b/src/components/script/dom/htmlimageelement.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use dom::attr::AttrValue;
use dom::bindings::codegen::Bindings::HTMLImageElementBinding;
use dom::bindings::codegen::InheritTypes::{NodeCast, ElementCast, HTMLElementCast, HTMLImageElementDerived};
use dom::bindings::js::{JS, JSRef, Temporary};
@@ -199,7 +200,7 @@ impl<'a> HTMLImageElementMethods for JSRef<'a, HTMLImageElement> {
fn Hspace(&self) -> u32 {
let element: &JSRef<Element> = ElementCast::from_ref(self);
- from_str::<u32>(element.get_string_attribute("hspace").as_slice()).unwrap()
+ element.get_uint_attribute("hspace")
}
fn SetHspace(&self, hspace: u32) {
@@ -209,7 +210,7 @@ impl<'a> HTMLImageElementMethods for JSRef<'a, HTMLImageElement> {
fn Vspace(&self) -> u32 {
let element: &JSRef<Element> = ElementCast::from_ref(self);
- from_str::<u32>(element.get_string_attribute("vspace").as_slice()).unwrap()
+ element.get_uint_attribute("vspace")
}
fn SetVspace(&self, vspace: u32) {
@@ -269,4 +270,11 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> {
self_alias.update_image(None, None);
}
}
+
+ fn parse_plain_attribute(&self, name: &str, value: DOMString) -> AttrValue {
+ match name {
+ "width" | "height" | "hspace" | "vspace" => AttrValue::from_u32(value, 0),
+ _ => self.super_type().unwrap().parse_plain_attribute(name, value),
+ }
+ }
}