Use map_or and fix manifest

This commit is contained in:
Dmitry Kolupaev 2020-02-22 13:28:22 +03:00
parent ab2aeb6d97
commit 25c5a4c045
4 changed files with 25 additions and 9 deletions

View file

@ -774,6 +774,7 @@ impl HTMLElement {
.count() as u32
}
// https://html.spec.whatwg.org/multipage/#the-directionality.
// returns Some if can infer direction by itself or from child nodes
// returns None if requires to go up to parent
pub fn directionality(&self) -> Option<String> {

View file

@ -985,19 +985,20 @@ impl HTMLFormElement {
// An element can only have a dirname attribute if it is a textarea element
// or an input element whose type attribute is in either the Text state or the Search state
let child_element = child.downcast::<Element>().unwrap();
let input_matches = child_element
.downcast::<HTMLInputElement>()
.map(|input| {
input.input_type() == InputType::Text || input.input_type() == InputType::Search
})
.unwrap_or(false);
let input_matches =
child_element
.downcast::<HTMLInputElement>()
.map_or(false, |input| {
input.input_type() == InputType::Text ||
input.input_type() == InputType::Search
});
let textarea_matches = child_element.is::<HTMLTextAreaElement>();
let dirname = child_element.get_string_attribute(&local_name!("dirname"));
if (input_matches || textarea_matches) && !dirname.is_empty() {
let dir = DOMString::from(child_element.directionality());
data_set.push(FormDatum {
ty: DOMString::from("string"),
name: dirname.clone(),
name: dirname,
value: FormDatumValue::String(dir),
});
}

View file

@ -14,7 +14,7 @@ interface HTMLElement : Element {
attribute DOMString lang;
[CEReactions]
attribute boolean translate;
[CEReactions]
[CEReactions]
attribute DOMString dir;
readonly attribute DOMStringMap dataset;

View file

@ -438076,7 +438076,21 @@
"forms": {
"attributes-common-to-form-controls": {
"dirname-ltr.html": [
"28d1c150b37258176a0d13f0ea47b85ef5ddba52",
"9d1c9eb77e9fdef844689bb71b44c8c2271e6ba4",
[
null,
{}
]
],
"dirname-rtl-auto.html": [
"6368a26fafd74105428969660fec3d29bbcb4dce",
[
null,
{}
]
],
"dirname-rtl-inherited.html": [
"1e6967d914a34de49033b1ea358b4093f11baf97",
[
null,
{}