aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlselectelement.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2014-10-10 15:46:45 +0530
committerManish Goregaokar <manishsmail@gmail.com>2014-10-11 09:48:15 +0530
commit8a2c746e6162e1301f38419130dbc9c1ff83a03a (patch)
tree4072a08c2cfff50580d532f2cd6ce614df159df8 /components/script/dom/htmlselectelement.rs
parente048f3f940e124d45b43a53a850177c45907822d (diff)
downloadservo-8a2c746e6162e1301f38419130dbc9c1ff83a03a.tar.gz
servo-8a2c746e6162e1301f38419130dbc9c1ff83a03a.zip
Add type IDL attr for submittable elements
Diffstat (limited to 'components/script/dom/htmlselectelement.rs')
-rw-r--r--components/script/dom/htmlselectelement.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs
index 53f8ce3efff..8c86318c38c 100644
--- a/components/script/dom/htmlselectelement.rs
+++ b/components/script/dom/htmlselectelement.rs
@@ -5,13 +5,13 @@
use dom::bindings::codegen::Bindings::HTMLSelectElementBinding;
use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast};
-use dom::bindings::codegen::InheritTypes::{HTMLSelectElementDerived, HTMLFieldSetElementDerived};
+use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLSelectElementDerived, HTMLFieldSetElementDerived};
use dom::bindings::codegen::UnionTypes::HTMLElementOrLong::HTMLElementOrLong;
use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement::HTMLOptionElementOrHTMLOptGroupElement;
use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::utils::{Reflectable, Reflector};
use dom::document::Document;
-use dom::element::{AttributeHandlers, HTMLSelectElementTypeId};
+use dom::element::{AttributeHandlers, Element, HTMLSelectElementTypeId};
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::htmlelement::HTMLElement;
use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId, window_from_node};
@@ -62,6 +62,16 @@ impl<'a> HTMLSelectElementMethods for JSRef<'a, HTMLSelectElement> {
// http://www.whatwg.org/html/#dom-fe-disabled
make_bool_setter!(SetDisabled, "disabled")
+
+ // https://html.spec.whatwg.org/multipage/forms.html#dom-select-type
+ fn Type(self) -> DOMString {
+ let elem: JSRef<Element> = ElementCast::from_ref(self);
+ if elem.has_attribute("multiple") {
+ "select-multiple".to_string()
+ } else {
+ "select-one".to_string()
+ }
+ }
}
impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> {