From f57e3262572126c82244827e71d7617a0646f56e Mon Sep 17 00:00:00 2001 From: Jakub Pawlowicz Date: Sun, 13 Sep 2015 18:02:27 +0100 Subject: [PATCH] Fixes #667 - rebasing remote URLs. If a URL is remote but rebase root is not there is no point in rebasing at all. --- History.md | 1 + lib/urls/rewrite.js | 5 ++++- test/integration-test.js | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 78c9541e..2aed3a62 100644 --- a/History.md +++ b/History.md @@ -5,6 +5,7 @@ * Fixed issue [#655](https://github.com/jakubpawlowicz/clean-css/issues/655) - shorthands override merging. * Fixed issue [#660](https://github.com/jakubpawlowicz/clean-css/issues/660) - !important token overriding. * Fixed issue [#662](https://github.com/jakubpawlowicz/clean-css/issues/662) - !important selector reducing. +* Fixed issue [#667](https://github.com/jakubpawlowicz/clean-css/issues/667) - rebasing remote URLs. [3.4.1 / 2015-08-27](https://github.com/jakubpawlowicz/clean-css/compare/v3.4.0...v3.4.1) ================== diff --git a/lib/urls/rewrite.js b/lib/urls/rewrite.js index bf49f19b..4d7b2c11 100644 --- a/lib/urls/rewrite.js +++ b/lib/urls/rewrite.js @@ -60,7 +60,10 @@ function rebase(uri, options) { if (isData(uri)) return '\'' + uri + '\''; - if (isRemote(uri) || isRemote(options.toBase)) + if (isRemote(uri) && !isRemote(options.toBase)) + return uri; + + if (!isRemote(uri) && isRemote(options.toBase)) return url.resolve(options.toBase, uri); return options.absolute ? diff --git a/test/integration-test.js b/test/integration-test.js index 598c921e..c7dbdddf 100644 --- a/test/integration-test.js +++ b/test/integration-test.js @@ -1390,6 +1390,10 @@ vows.describe('integration tests') 'document-local reference': [ 'svg{marker-end:url(#arrow)}', 'svg{marker-end:url(#arrow)}' + ], + 'chrome extension': [ + 'a{background-image:url("chrome-extension://__MSG_@@extension_id__/someFile.png")}', + 'a{background-image:url(chrome-extension://__MSG_@@extension_id__/someFile.png)}' ] }) ) @@ -1418,6 +1422,10 @@ vows.describe('integration tests') 'internal page': [ 'a{background:url(about:blank)}', 'a{background:url(about:blank)}' + ], + 'chrome extension': [ + 'a{background-image:url("chrome-extension://__MSG_@@extension_id__/someFile.png")}', + 'a{background-image:url(chrome-extension://__MSG_@@extension_id__/someFile.png)}' ] }, { root: process.cwd(), -- 2.34.1