]> source.dussan.org Git - jquery.git/commitdiff
CSS: Justify use of rtrim on CSS property values
authorRichard Gibson <richard.gibson@gmail.com>
Mon, 3 Jan 2022 12:28:49 +0000 (07:28 -0500)
committerGitHub <noreply@github.com>
Mon, 3 Jan 2022 12:28:49 +0000 (13:28 +0100)
CSS does not acknowledge carriage return or form feed characters
as whitespace but it does replace them with whitespace, making it
acceptable to use `rtrim`.

Closes gh-4956

src/css/curCSS.js

index 6d8b6a2d3bd25e8dde11a41c40ffbe3a69ea7d9d..15d624bbb98cfc506a57da5c4db0b8cf17841cbc 100644 (file)
@@ -16,6 +16,12 @@ function curCSS( elem, name, computed ) {
 
                // trim whitespace for custom property (issue gh-4926)
                if ( isCustomProp ) {
+
+                       // rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
+                       // as whitespace while CSS does not, but this is not a problem
+                       // because CSS preprocessing replaces them with U+000A LINE FEED
+                       // (which *is* CSS whitespace)
+                       // https://www.w3.org/TR/css-syntax-3/#input-preprocessing
                        ret = ret.replace( rtrim, "$1" );
                }