From db4ee68471dc837314afe4cc1719c2dba6912b4d Mon Sep 17 00:00:00 2001 From: Sean Feng Date: Fri, 17 May 2024 13:11:20 +0000 Subject: [PATCH] Bug 1896923 - Use normalize-newlines algorithm for setCustomValidity r=emilio This is for https://github.com/whatwg/html/pull/10350 Differential Revision: https://phabricator.services.mozilla.com/D210688 --- dom/html/ConstraintValidation.cpp | 5 ++++- .../setCustomValidity-normalize-newlines.html | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 testing/web-platform/tests/html/semantics/forms/setCustomValidity-normalize-newlines.html 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 @@ + + + + +
+ +
+ +