diff options
author | Ying-Ruei Liang (KK) <thumbd03803@gmail.com> | 2016-01-01 21:24:19 +0800 |
---|---|---|
committer | Ying-Ruei Liang (KK) <thumbd03803@gmail.com> | 2016-01-06 10:56:00 +0800 |
commit | 74905f0f3cd152cc6217b50b84be3b8f1f4c030a (patch) | |
tree | c5ccf6b3c4d3d601bb81e32053a03f8b6b0a1647 /components/script/dom/element.rs | |
parent | 5ad9207a99295284f1525844b734f189d1a25255 (diff) | |
download | servo-74905f0f3cd152cc6217b50b84be3b8f1f4c030a.tar.gz servo-74905f0f3cd152cc6217b50b84be3b8f1f4c030a.zip |
Invalid type attribute for HTMLInputElement now fallback as text type (fixes #8773)
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 360623f3df9..3fed8b02819 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -358,16 +358,21 @@ impl LayoutElementHelpers for LayoutJS<Element> { let size = if let Some(this) = self.downcast::<HTMLInputElement>() { // FIXME(pcwalton): More use of atoms, please! - // FIXME(Ms2ger): this is nonsense! Invalid values also end up as - // a text field match (*self.unsafe_get()).get_attr_val_for_layout(&ns!(), &atom!("type")) { - Some("text") | Some("password") => { + // Not text entry widget + Some("hidden") | Some("date") | Some("month") | Some("week") | + Some("time") | Some("datetime-local") | Some("number") | Some("range") | + Some("color") | Some("checkbox") | Some("radio") | Some("file") | + Some("submit") | Some("image") | Some("reset") | Some("button") => { + None + }, + // Others + _ => { match this.get_size_for_layout() { 0 => None, s => Some(s as i32), } - } - _ => None, + }, } } else { None |