aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2014-11-26 16:15:38 -0700
committerbors-servo <metajack+bors@gmail.com>2014-11-26 16:15:38 -0700
commit184a3346ab2fb2a4dfd267681af02711cfb6bc44 (patch)
tree8fddf8825a5c83e1d6328fd62da40dfb412546c2 /components/script/dom
parentb5d6864de1000d6d54c2d5ebfd90ea9f6a596c54 (diff)
parentb3f9c8667c6d2706f819ee77a8b180a10bc769eb (diff)
downloadservo-184a3346ab2fb2a4dfd267681af02711cfb6bc44.tar.gz
servo-184a3346ab2fb2a4dfd267681af02711cfb6bc44.zip
auto merge of #4113 : payload/servo/issue-4110, r=jdm
The attribute `value` and the underlying model `TextInput` are not connected to each other, so I just pulled the value out of `TextInput`.
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/htmlinputelement.rs14
1 files 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<HTMLInputElement> {
#[allow(unrooted_must_root)]
unsafe fn get_value_for_layout(self) -> String {
- unsafe fn get_raw_textinput_value(input: JS<HTMLInputElement>) -> Option<String> {
- let elem: JS<Element> = 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<HTMLInputElement>) -> String {
+ (*input.unsafe_get()).textinput.borrow_for_layout().get_content()
}
unsafe fn get_raw_attr_value(input: JS<HTMLInputElement>) -> Option<String> {
@@ -118,10 +114,10 @@ impl LayoutHTMLInputElementHelpers for JS<HTMLInputElement> {
.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),
}
}