diff --git a/dom/html/ConstraintValidation.cpp b/dom/html/ConstraintValidation.cpp index 1d256a309287..4d202b5fbfc8 100644 --- a/dom/html/ConstraintValidation.cpp +++ b/dom/html/ConstraintValidation.cpp @@ -9,6 +9,7 @@ #include "mozilla/ErrorResult.h" #include "nsAString.h" #include "nsIContent.h" +#include "nsContentUtils.h" namespace mozilla::dom { @@ -59,7 +60,9 @@ bool ConstraintValidation::CheckValidity() { ConstraintValidation::ConstraintValidation() = default; void ConstraintValidation::SetCustomValidity(const nsAString& aError) { - mCustomValidity.Assign(aError); + nsAutoString error(aError); + nsContentUtils::PlatformToDOMLineBreaks(error); + mCustomValidity.Assign(error); SetValidityState(VALIDITY_STATE_CUSTOM_ERROR, !mCustomValidity.IsEmpty()); } diff --git a/testing/web-platform/tests/html/semantics/forms/setCustomValidity-normalize-newlines.html b/testing/web-platform/tests/html/semantics/forms/setCustomValidity-normalize-newlines.html new file mode 100644 index 000000000000..3eb8c17e8f5b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/setCustomValidity-normalize-newlines.html @@ -0,0 +1,15 @@ + + + + +
+ +