diff options
author | vrod <rodrigues.victor.vsr@gmail.com> | 2016-07-26 22:40:19 -0300 |
---|---|---|
committer | vrod <rodrigues.victor.vsr@gmail.com> | 2016-07-28 21:07:21 -0300 |
commit | defaa5bee70fd1d5301b857b20d78bdfd3cb0b4d (patch) | |
tree | a6ae80d339be186f5bcb55f0cce9dc5bf6bc7a10 /components/script/dom/htmllielement.rs | |
parent | 1f34d4f219a8d237acbf02737343ce520d73fd7a (diff) | |
download | servo-defaa5bee70fd1d5301b857b20d78bdfd3cb0b4d.tar.gz servo-defaa5bee70fd1d5301b857b20d78bdfd3cb0b4d.zip |
Implement HTMLLIElement#value
Diffstat (limited to 'components/script/dom/htmllielement.rs')
-rw-r--r-- | components/script/dom/htmllielement.rs | 25 |
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), + } + } +} |