From: Ori Livneh Date: Sun, 16 Aug 2015 17:32:13 +0000 (-0700) Subject: CSSMin: remove dot segments in relative local URLs X-Git-Tag: 1.31.0-rc.0~10341^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/operations/recherche.php?a=commitdiff_plain;h=5844ebcd93c8f40761b6307bc24fc7865e9cd396;p=lhc%2Fweb%2Fwiklou.git CSSMin: remove dot segments in relative local URLs Call wfRemoveDotSegments() (if available) on relative local URLs, so that relative dot segments are collapsed. Change-Id: Icc1c23a2a7d96c869412965bd8c3730d3c3b3a53 --- diff --git a/includes/libs/CSSMin.php b/includes/libs/CSSMin.php index f415c9b6e7..118463a0fc 100644 --- a/includes/libs/CSSMin.php +++ b/includes/libs/CSSMin.php @@ -399,7 +399,7 @@ class CSSMin { if ( $local === false ) { // Assume that all paths are relative to $remote, and make them absolute - return $remote . '/' . $url; + $url = $remote . '/' . $url; } else { // We drop the query part here and instead make the path relative to $remote $url = "{$remote}/{$file}"; @@ -418,8 +418,11 @@ class CSSMin { } // If any of these conditions failed (file missing, we don't want to embed it // or it's not embeddable), return the URL (possibly with ?timestamp part) - return $url; } + if ( function_exists( 'wfRemoveDotSegments' ) ) { + $url = wfRemoveDotSegments( $url ); + } + return $url; } /** diff --git a/tests/phpunit/includes/libs/CSSMinTest.php b/tests/phpunit/includes/libs/CSSMinTest.php index 6142f9675b..dc3809f6e0 100644 --- a/tests/phpunit/includes/libs/CSSMinTest.php +++ b/tests/phpunit/includes/libs/CSSMinTest.php @@ -102,12 +102,12 @@ class CSSMinTest extends MediaWikiTestCase { array( 'Without trailing slash', array( 'foo { prop: url(../bar.png); }', false, 'http://example.org/quux', false ), - 'foo { prop: url(http://example.org/quux/../bar.png); }', + 'foo { prop: url(http://example.org/bar.png); }', ), array( 'With trailing slash on remote (bug 27052)', array( 'foo { prop: url(../bar.png); }', false, 'http://example.org/quux/', false ), - 'foo { prop: url(http://example.org/quux/../bar.png); }', + 'foo { prop: url(http://example.org/bar.png); }', ), array( 'Guard against stripping double slashes from query',