From 9ff671799298ac06973bed7fd16fe1c12d018ca7 Mon Sep 17 00:00:00 2001 From: Patrick Shaughnessy Date: Tue, 7 Jan 2020 11:57:52 -0500 Subject: [PATCH] Past names expire when form owner is reset --- components/script/dom/htmlformelement.rs | 7 +++++++ .../forms/the-form-element/form-nameditem.html.ini | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 959bca74b545..37165d273b14 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 2a540f30348d..2fc5417441d0 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 -