From 8fbcf2b39cc3665d96cb22aa0e8a6408c37ae44b Mon Sep 17 00:00:00 2001 From: Andrew Serong <14988353+andrewserong@users.noreply.github.com> Date: Fri, 1 Jul 2022 16:22:25 +1000 Subject: [PATCH 1/3] Add layout-related CSS properties to safe_style_css_filter in kses.php --- src/wp-includes/kses.php | 15 +++++++++++++++ tests/phpunit/tests/kses.php | 19 +++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/kses.php b/src/wp-includes/kses.php index b32df1beaa973..3704fd93f93cb 100644 --- a/src/wp-includes/kses.php +++ b/src/wp-includes/kses.php @@ -2320,6 +2320,8 @@ function safecss_filter_attr( $css, $deprecated = '' ) { 'text-indent', 'text-transform', + 'display', + 'height', 'min-height', 'max-height', @@ -2333,12 +2335,20 @@ function safecss_filter_attr( $css, $deprecated = '' ) { 'margin-bottom', 'margin-left', 'margin-top', + 'margin-block-start', + 'margin-block-end', + 'margin-inline-start', + 'margin-inline-end', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top', + 'padding-block-start', + 'padding-block-end', + 'padding-inline-start', + 'padding-inline-end', 'flex', 'flex-basis', @@ -2346,6 +2356,11 @@ function safecss_filter_attr( $css, $deprecated = '' ) { 'flex-flow', 'flex-grow', 'flex-shrink', + 'flex-wrap', + + 'gap', + 'column-gap', + 'row-gap', 'grid-template-columns', 'grid-auto-columns', diff --git a/tests/phpunit/tests/kses.php b/tests/phpunit/tests/kses.php index e6cac09c3b77f..091570b15be7a 100644 --- a/tests/phpunit/tests/kses.php +++ b/tests/phpunit/tests/kses.php @@ -1033,8 +1033,8 @@ public function data_test_safecss_filter_attr() { ), // `flex` and related attributes introduced in 5.3. array( - 'css' => 'flex: 0 1 auto;flex-basis: 75%;flex-direction: row-reverse;flex-flow: row-reverse nowrap;flex-grow: 2;flex-shrink: 1', - 'expected' => 'flex: 0 1 auto;flex-basis: 75%;flex-direction: row-reverse;flex-flow: row-reverse nowrap;flex-grow: 2;flex-shrink: 1', + 'css' => 'flex: 0 1 auto;flex-basis: 75%;flex-direction: row-reverse;flex-flow: row-reverse nowrap;flex-grow: 2;flex-shrink: 1;flex-wrap: nowrap', + 'expected' => 'flex: 0 1 auto;flex-basis: 75%;flex-direction: row-reverse;flex-flow: row-reverse nowrap;flex-grow: 2;flex-shrink: 1;flex-wrap: nowrap', ), // `grid` and related attributes introduced in 5.3. array( @@ -1120,6 +1120,21 @@ public function data_test_safecss_filter_attr() { 'css' => 'color: rgb( 100, 100, 100, .4 )', 'expected' => '', ), + // Gap introduced in 6.1. + array( + 'css' => 'gap: 10px; column-gap: 5px; row-gap: 20px', + 'expected' => 'gap: 10px; column-gap: 5px; row-gap: 20px', + ), + // Margin and padding logical properties introduced in 6.1. + array( + 'css' => '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', + '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', + ), + // Display property introduced in 6.1. + array( + 'css' => 'display: grid', + 'expected' => 'display: grid', + ), ); } From f0c2515f20e6ea4008fc95e2c5c43b7b0017c1fd Mon Sep 17 00:00:00 2001 From: Andrew Serong <14988353+andrewserong@users.noreply.github.com> Date: Fri, 1 Jul 2022 16:32:41 +1000 Subject: [PATCH 2/3] Fix expected spacing in tests --- tests/phpunit/tests/kses.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/phpunit/tests/kses.php b/tests/phpunit/tests/kses.php index 091570b15be7a..a99c2ceec9924 100644 --- a/tests/phpunit/tests/kses.php +++ b/tests/phpunit/tests/kses.php @@ -1122,13 +1122,13 @@ public function data_test_safecss_filter_attr() { ), // Gap introduced in 6.1. array( - 'css' => 'gap: 10px; column-gap: 5px; row-gap: 20px', - 'expected' => 'gap: 10px; column-gap: 5px; row-gap: 20px', + 'css' => 'gap: 10px;column-gap: 5px;row-gap: 20px', + 'expected' => 'gap: 10px;column-gap: 5px;row-gap: 20px', ), // Margin and padding logical properties introduced in 6.1. array( - 'css' => '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', - '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', + 'css' => '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', + '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', ), // Display property introduced in 6.1. array( From 62928d94e1874e3fec6a58aa27e3f2188f2bd48d Mon Sep 17 00:00:00 2001 From: Andrew Serong <14988353+andrewserong@users.noreply.github.com> Date: Wed, 6 Jul 2022 16:50:52 +1000 Subject: [PATCH 3/3] Remove display property --- src/wp-includes/kses.php | 2 -- tests/phpunit/tests/kses.php | 5 ----- 2 files changed, 7 deletions(-) diff --git a/src/wp-includes/kses.php b/src/wp-includes/kses.php index 3704fd93f93cb..9874cddff59e1 100644 --- a/src/wp-includes/kses.php +++ b/src/wp-includes/kses.php @@ -2320,8 +2320,6 @@ function safecss_filter_attr( $css, $deprecated = '' ) { 'text-indent', 'text-transform', - 'display', - 'height', 'min-height', 'max-height', diff --git a/tests/phpunit/tests/kses.php b/tests/phpunit/tests/kses.php index a99c2ceec9924..fc33b44bd3fe3 100644 --- a/tests/phpunit/tests/kses.php +++ b/tests/phpunit/tests/kses.php @@ -1130,11 +1130,6 @@ public function data_test_safecss_filter_attr() { 'css' => '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', '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', ), - // Display property introduced in 6.1. - array( - 'css' => 'display: grid', - 'expected' => 'display: grid', - ), ); }