KSES: Allow filter property to accept a URL in safecss_filter_attr().

CSS filters can accept `url()` as a reference to an SVG filter element:
{{{
filter: url( file.svg#filter-element-id );
}}}
This commit allows for that syntax to be used in inline CSS.

Original PR from Gutenberg repository:
* [https://github.com/WordPress/gutenberg/pull/48281 #48281 Duotone: Use the style engine to generate CSS for Duotone]

References:
* [https://developer.mozilla.org/en-US/docs/Web/CSS/filter MDN Web Docs: filter()]
* [https://developer.mozilla.org/en-US/docs/Web/CSS/url MDN Web Docs: url()]

Follow-up to [44136], [52049].

Props scruffian, jeryj, ironprogrammer, azaozz, hellofromTonya, SergeyBiryukov.
Fixes #57780.

git-svn-id: https://develop.svn.wordpress.org/trunk@55564 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2023-03-20 08:23:47 +00:00
parent a387dee3f9
commit 6d1381180b
2 changed files with 7 additions and 0 deletions

View File

@@ -2279,6 +2279,7 @@ function kses_init() {
* Extended `margin-*` and `padding-*` support for logical properties.
* @since 6.2.0 Added support for `aspect-ratio`, `position`, `top`, `right`, `bottom`, `left`,
* and `z-index` CSS properties.
* @since 6.3.0 Extended support for `filter` to accept a URL.
*
* @param string $css A string of CSS rules.
* @param string $deprecated Not used.
@@ -2466,6 +2467,7 @@ function safecss_filter_attr( $css, $deprecated = '' ) {
'background-image',
'cursor',
'filter',
'list-style',
'list-style-image',

View File

@@ -1316,6 +1316,11 @@ EOF;
'css' => 'aspect-ratio: url( https://wordpress.org/wp-content/uploads/aspect-ratio.jpg );',
'expected' => '',
),
// URL support for `filter` introduced in 6.3.
array(
'css' => 'filter: url( my-file.svg#svg-blur );',
'expected' => 'filter: url( my-file.svg#svg-blur )',
),
);
}