From b3f9c8667c6d2706f819ee77a8b180a10bc769eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilbert=20R=C3=B6hrbein?= Date: Wed, 26 Nov 2014 23:38:05 +0100 Subject: [PATCH] fixes #4110, can input text without 'value' attribute present --- components/script/dom/htmlinputelement.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 9c7050ec8a1..f4867a97c30 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -17,7 +17,7 @@ use dom::bindings::codegen::InheritTypes::KeyboardEventCast; use dom::bindings::js::{JS, JSRef, Temporary, OptionalRootable, ResultRootable}; use dom::bindings::utils::{Reflectable, Reflector}; use dom::document::{Document, DocumentHelpers}; -use dom::element::{AttributeHandlers, Element, HTMLInputElementTypeId, LayoutElementHelpers}; +use dom::element::{AttributeHandlers, Element, HTMLInputElementTypeId}; use dom::element::RawLayoutElementHelpers; use dom::event::Event; use dom::eventtarget::{EventTarget, NodeTargetTypeId}; @@ -97,12 +97,8 @@ pub trait RawLayoutHTMLInputElementHelpers { impl LayoutHTMLInputElementHelpers for JS { #[allow(unrooted_must_root)] unsafe fn get_value_for_layout(self) -> String { - unsafe fn get_raw_textinput_value(input: JS) -> Option { - let elem: JS = input.transmute_copy(); - if !elem.has_attr_for_layout(&ns!(""), &atom!("value")) { - return None; - } - Some((*input.unsafe_get()).textinput.borrow_for_layout().get_content()) + unsafe fn get_raw_textinput_value(input: JS) -> String { + (*input.unsafe_get()).textinput.borrow_for_layout().get_content() } unsafe fn get_raw_attr_value(input: JS) -> Option { @@ -118,10 +114,10 @@ impl LayoutHTMLInputElementHelpers for JS { .or_else(|| default.map(|v| v.to_string())) .unwrap_or_else(|| "".to_string()), InputPassword => { - let raw = get_raw_textinput_value(self).unwrap_or_else(|| "".to_string()); + let raw = get_raw_textinput_value(self); String::from_char(raw.len(), '●') } - _ => get_raw_textinput_value(self).unwrap_or_else(|| "".to_string()), + _ => get_raw_textinput_value(self), } }