Remove insecure styles from inner blocks and their elements.
Description
When responsive media queries are provided, nested responsive state styles for those media-query keys are re-added after the base sanitization pass.
Parameters
$blocksarrayrequired- The block styles to process.
$responsive_media_queriesarray|nulloptional- Media queries whose keys define allowed viewport states.
Default:
null
Source
protected static function remove_insecure_inner_block_styles( $blocks, $responsive_media_queries = null ) {
$sanitized = array();
foreach ( $blocks as $block_type => $block_input ) {
$block_output = static::remove_insecure_styles( $block_input );
if ( isset( $block_input['elements'] ) ) {
$block_output['elements'] = static::remove_insecure_element_styles( $block_input['elements'], $responsive_media_queries );
}
if ( null !== $responsive_media_queries ) {
// Re-add and process responsive breakpoint styles for inner blocks.
foreach ( array_keys( $responsive_media_queries ) as $breakpoint ) {
if ( isset( $block_input[ $breakpoint ] ) ) {
$block_output[ $breakpoint ] = static::remove_insecure_styles( $block_input[ $breakpoint ] );
if ( isset( static::VALID_BLOCK_PSEUDO_SELECTORS[ $block_type ] ) ) {
foreach ( static::VALID_BLOCK_PSEUDO_SELECTORS[ $block_type ] as $pseudo_selector ) {
if ( isset( $block_input[ $breakpoint ][ $pseudo_selector ] ) ) {
$block_output[ $breakpoint ][ $pseudo_selector ] = static::remove_insecure_styles( $block_input[ $breakpoint ][ $pseudo_selector ] );
}
}
}
}
}
}
$sanitized[ $block_type ] = $block_output;
}
return $sanitized;
}
User Contributed Notes
You must log in before being able to contribute a note or feedback.