diff options
Diffstat (limited to 'components/script/dom')
-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 |