Make WordPress Core

Ticket #55966: 55966.4.diff

File 55966.4.diff, 2.7 KB (added by cbravobernal, 2 years ago)
  • src/wp-includes/kses.php

    diff --git a/src/wp-includes/kses.php b/src/wp-includes/kses.php
    index 1c581b3714..51a5d29d7e 100644
    a b function safecss_filter_attr( $css, $deprecated = '' ) { 
    24712471                        $css_test_string = preg_replace( '/\b(?:calc|min|max|minmax|clamp)\(((?:\([^()]*\)?|[^()])*)\)/', '', $css_test_string );
    24722472
    24732473                        // Allow CSS var().
    2474                         $css_test_string = preg_replace( '/\(?var\(--[\w\-\()[\]\,\s]*\)/', '', $css_test_string );
     2474                        $css_test_string = preg_replace( '/\(?var\(--[\w|%\-\()[\]\,\s]*\)/', '', $css_test_string );
    24752475
    24762476                        // Check for any CSS containing \ ( & } = or comments,
    24772477                        // except for url(), calc(), or var() usage checked above.
  • tests/phpunit/tests/kses.php

    diff --git a/tests/phpunit/tests/kses.php b/tests/phpunit/tests/kses.php
    index 9f5648e8df..8ac8581b26 100644
    a b EOF; 
    11411141                                'css'      => 'width: clamp(100px, 50%, 100vw)',
    11421142                                'expected' => 'width: clamp(100px, 50%, 100vw)',
    11431143                        ),
     1144                        // Allow two functions in the same CSS.
     1145                        array(
     1146                                'css'      => 'width: clamp(min(100px, 350px), 50%, 500px), 600px)',
     1147                                'expected' => 'width: clamp(min(100px, 350px), 50%, 500px), 600px)',
     1148                        ),
     1149                        // Allow gradient() function.
     1150                        array(
     1151                                'css'      => 'background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%)',
     1152                                'expected' => 'background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%)',
     1153                        ),
    11441154                        // Combined CSS function names.
    11451155                        array(
    11461156                                'css'      => 'width: calcmax(100px + 50%)',
    EOF; 
    11611171                                'css'      => 'padding: var(--wp-var1, 10px)',
    11621172                                'expected' => 'padding: var(--wp-var1, 10px)',
    11631173                        ),
     1174                        // Allow var() with fallback (percentage).
     1175                        array(
     1176                                'css'      => 'padding: var(--wp-var1, 50%)',
     1177                                'expected' => 'padding: var(--wp-var1, 50%)',
     1178                        ),
    11641179                        // Allow var() with fallback var().
    11651180                        array(
    11661181                                'css'      => 'background-color: var(--wp-var, var(--wp-var-fallback, pink))',
    11671182                                'expected' => 'background-color: var(--wp-var, var(--wp-var-fallback, pink))',
    11681183                        ),
     1184                        // Allow var() with square brackets.
     1185                        array(
     1186                                'css'      => 'background-color: var(--wp-var, [pink])',
     1187                                'expected' => 'background-color: var(--wp-var, [pink])',
     1188                        ),
    11691189                        // Allow calc() with var().
    11701190                        array(
    11711191                                'css'      => 'margin-top: calc(var(--wp-var1) * 3 + 2em)',
    11721192                                'expected' => 'margin-top: calc(var(--wp-var1) * 3 + 2em)',
    11731193                        ),
     1194                        // Malformed var() with fallback.
     1195                        array(
     1196                                'css'      => 'padding: var(--wp-var1, 50$)',
     1197                                'expected' => '',
     1198                        ),
    11741199                        // Malformed min, no closing `)`.
    11751200                        array(
    11761201                                'css'      => 'width: min(3em + 10px',