aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/htmlformelement.rs7
-rw-r--r--tests/wpt/metadata/html/semantics/forms/the-form-element/form-nameditem.html.ini3
2 files changed, 7 insertions, 3 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 959bca74b54..37165d273b1 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -1081,6 +1081,13 @@ impl HTMLFormElement {
.iter()
.position(|c| &**c == control)
.map(|idx| controls.remove(idx));
+
+ // https://html.spec.whatwg.org/multipage#forms.html#the-form-element:past-names-map-5
+ // "If an element listed in a form element's past names map
+ // changes form owner, then its entries must be removed
+ // from that map."
+ let mut past_names_map = self.past_names_map.borrow_mut();
+ past_names_map.retain(|_k, v| v.0 != control);
}
}
diff --git a/tests/wpt/metadata/html/semantics/forms/the-form-element/form-nameditem.html.ini b/tests/wpt/metadata/html/semantics/forms/the-form-element/form-nameditem.html.ini
index 2a540f30348..2fc5417441d 100644
--- a/tests/wpt/metadata/html/semantics/forms/the-form-element/form-nameditem.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/the-form-element/form-nameditem.html.ini
@@ -15,6 +15,3 @@
[Trying to set an expando that would shadow an already-existing named property]
expected: FAIL
- [Past names map should work correctly]
- expected: FAIL
-