From 9863f720193506f70bcc7dbe216966233cec3e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Sch=C3=B6ldstr=C3=B6m?= Date: Thu, 22 Aug 2024 12:18:42 -0300 Subject: [PATCH] Script Loader: Prevent normalizing absolute paths in `_wp_normalize_relative_css_links()` Fixes #61909 --- src/wp-includes/script-loader.php | 2 +- tests/phpunit/tests/dependencies/styles.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php index 19d25049c40bb..24f5ad248b1b1 100644 --- a/src/wp-includes/script-loader.php +++ b/src/wp-includes/script-loader.php @@ -3056,7 +3056,7 @@ static function ( $matches ) use ( $stylesheet_url ) { if ( str_starts_with( $url, 'http:' ) || str_starts_with( $url, 'https:' ) || - str_starts_with( $url, '//' ) || + str_starts_with( $url, '/' ) || str_starts_with( $url, '#' ) || str_starts_with( $url, 'data:' ) ) { diff --git a/tests/phpunit/tests/dependencies/styles.php b/tests/phpunit/tests/dependencies/styles.php index 8746c095338c2..9cb6283c488d5 100644 --- a/tests/phpunit/tests/dependencies/styles.php +++ b/tests/phpunit/tests/dependencies/styles.php @@ -228,6 +228,10 @@ public function data_normalize_relative_css_links() { 'css' => 'p {background-image: url(\'../image1.jpg\');}', 'expected' => 'p {background-image: url(\'/wp-content/themes/test/../image1.jpg\');}', ), + 'URLs with absolute path, shouldn\'t change' => array( + 'css' => 'p {background:url( "/image0.svg" );}', + 'expected' => 'p {background:url( "/image0.svg" );}', + ), 'External URLs, shouldn\'t change' => array( 'css' => 'p {background-image: url(\'http://foo.com/image2.png\');}', 'expected' => 'p {background-image: url(\'http://foo.com/image2.png\');}',