From e356310f385ce182b5b40aa7a29a00005941b658 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 9 Mar 2021 14:12:34 +0000 Subject: [PATCH] Bug 1696123 - Always copy the checkedness of input elements r=edgar Differential Revision: https://phabricator.services.mozilla.com/D107130 --- dom/html/HTMLInputElement.cpp | 16 ++++----- .../the-input-element/cloning-steps.html | 36 ++++++++++--------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp index 038041661fc2..c35888a53556 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -1115,18 +1115,18 @@ nsresult HTMLInputElement::Clone(dom::NodeInfo* aNodeInfo, } break; case VALUE_MODE_DEFAULT_ON: - if (mCheckedChanged) { - // We no longer have our original checked state. Set our - // checked state on the clone. - it->DoSetChecked(mChecked, false, true); - // Then tell DoneCreatingElement() not to overwrite: - it->mShouldInitChecked = false; - } - break; case VALUE_MODE_DEFAULT: break; } + if (mCheckedChanged) { + // We no longer have our original checked state. Set our + // checked state on the clone. + it->DoSetChecked(mChecked, false, true); + // Then tell DoneCreatingElement() not to overwrite: + it->mShouldInitChecked = false; + } + it->DoneCreatingElement(); it->mLastValueChangeWasInteractive = mLastValueChangeWasInteractive; diff --git a/testing/web-platform/tests/html/semantics/forms/the-input-element/cloning-steps.html b/testing/web-platform/tests/html/semantics/forms/the-input-element/cloning-steps.html index 9e6c46fd7aa5..52cd57705e4b 100644 --- a/testing/web-platform/tests/html/semantics/forms/the-input-element/cloning-steps.html +++ b/testing/web-platform/tests/html/semantics/forms/the-input-element/cloning-steps.html @@ -10,8 +10,8 @@ -