Changeset 54117
- Timestamp:
- 09/09/2022 12:37:47 PM (2 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/kses.php
r54102 r54117 2230 2230 * @since 5.8.0 Added support for `calc()` and `var()` values. 2231 2231 * @since 6.1.0 Added support for `min()`, `max()`, `minmax()`, `clamp()`, 2232 * and nested `var()` values.2232 * nested `var()` values, and assigning values to CSS variables. 2233 2233 * Added support for `gap`, `column-gap`, `row-gap`, and `flex-wrap`. 2234 2234 * Extended `margin-*` and `padding-*` support for logical properties. … … 2392 2392 'overflow', 2393 2393 'vertical-align', 2394 2395 // Custom CSS properties. 2396 '--*', 2394 2397 ) 2395 2398 ); … … 2437 2440 $url_attr = false; 2438 2441 $gradient_attr = false; 2442 $is_custom_var = false; 2439 2443 2440 2444 if ( strpos( $css_item, ':' ) === false ) { … … 2444 2448 $css_selector = trim( $parts[0] ); 2445 2449 2450 // Allow assigning values to CSS variables. 2451 if ( in_array( '--*', $allowed_attr, true ) && preg_match( '/^--[a-zA-Z0-9-_]+$/', $css_selector ) ) { 2452 $allowed_attr[] = $css_selector; 2453 $is_custom_var = true; 2454 } 2455 2446 2456 if ( in_array( $css_selector, $allowed_attr, true ) ) { 2447 2457 $found = true; 2448 2458 $url_attr = in_array( $css_selector, $css_url_data_types, true ); 2449 2459 $gradient_attr = in_array( $css_selector, $css_gradient_data_types, true ); 2460 } 2461 2462 if ( $is_custom_var ) { 2463 $css_value = trim( $parts[1] ); 2464 $url_attr = str_starts_with( $css_value, 'url(' ); 2465 $gradient_attr = str_contains( $css_value, '-gradient(' ); 2450 2466 } 2451 2467 } -
trunk/tests/phpunit/tests/kses.php
r54102 r54117 1248 1248 'expected' => 'margin-block-start: 1px;margin-block-end: 2px;margin-inline-start: 3px;margin-inline-end: 4px;padding-block-start: 1px;padding-block-end: 2px;padding-inline-start: 3px;padding-inline-end: 4px', 1249 1249 ), 1250 // Assigning values to CSS variables introduced in 6.1. 1251 array( 1252 'css' => '--wp--medium-width: 100px; --var_with_underscores: #cccccc;', 1253 'expected' => '--wp--medium-width: 100px;--var_with_underscores: #cccccc', 1254 ), 1255 array( 1256 'css' => '--miXeD-CAse: red; --with-numbers-3_56: red; --with-url-value: url("foo.jpg");', 1257 'expected' => '--miXeD-CAse: red;--with-numbers-3_56: red;--with-url-value: url("foo.jpg")', 1258 ), 1259 array( 1260 'css' => '--with-gradient: repeating-linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);', 1261 'expected' => '--with-gradient: repeating-linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', 1262 ), 1263 array( 1264 'css' => '--?><.%-not-allowed: red;', 1265 'expected' => '', 1266 ), 1250 1267 ); 1251 1268 }
Note: See TracChangeset
for help on using the changeset viewer.