aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmllielement.rs
diff options
context:
space:
mode:
authorvrod <rodrigues.victor.vsr@gmail.com>2016-07-26 22:40:19 -0300
committervrod <rodrigues.victor.vsr@gmail.com>2016-07-28 21:07:21 -0300
commitdefaa5bee70fd1d5301b857b20d78bdfd3cb0b4d (patch)
treea6ae80d339be186f5bcb55f0cce9dc5bf6bc7a10 /components/script/dom/htmllielement.rs
parent1f34d4f219a8d237acbf02737343ce520d73fd7a (diff)
downloadservo-defaa5bee70fd1d5301b857b20d78bdfd3cb0b4d.tar.gz
servo-defaa5bee70fd1d5301b857b20d78bdfd3cb0b4d.zip
Implement HTMLLIElement#value
Diffstat (limited to 'components/script/dom/htmllielement.rs')
-rw-r--r--components/script/dom/htmllielement.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/components/script/dom/htmllielement.rs b/components/script/dom/htmllielement.rs
index 444fc37827c..32915a5c351 100644
--- a/components/script/dom/htmllielement.rs
+++ b/components/script/dom/htmllielement.rs
@@ -3,12 +3,16 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLLIElementBinding;
+use dom::bindings::codegen::Bindings::HTMLLIElementBinding::HTMLLIElementMethods;
+use dom::bindings::inheritance::Castable;
use dom::bindings::js::Root;
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::htmlelement::HTMLElement;
use dom::node::Node;
+use dom::virtualmethods::VirtualMethods;
use string_cache::Atom;
+use style::attr::AttrValue;
#[dom_struct]
pub struct HTMLLIElement {
@@ -31,3 +35,24 @@ impl HTMLLIElement {
HTMLLIElementBinding::Wrap)
}
}
+
+impl HTMLLIElementMethods for HTMLLIElement {
+ // https://html.spec.whatwg.org/multipage/#dom-li-value
+ make_int_getter!(Value, "value");
+
+ // https://html.spec.whatwg.org/multipage/#dom-li-value
+ make_int_setter!(SetValue, "value");
+}
+
+impl VirtualMethods for HTMLLIElement {
+ fn super_type(&self) -> Option<&VirtualMethods> {
+ Some(self.upcast::<HTMLElement>() as &VirtualMethods)
+ }
+
+ fn parse_plain_attribute(&self, name: &Atom, value: DOMString) -> AttrValue {
+ match name {
+ &atom!("value") => AttrValue::from_i32(value.into(), 0),
+ _ => self.super_type().unwrap().parse_plain_attribute(name, value),
+ }
+ }
+}