From 4a61d58cfe5d27483c5f4d49f6dcc539334034fa Mon Sep 17 00:00:00 2001 From: Jakub Pawlowicz Date: Thu, 12 Mar 2015 19:10:40 +0000 Subject: [PATCH] Fixes #489 - edge case in filter optimizations. So Chroma and Alpha filters can be shortened if they are not mixed, but the regexp was too greedy and AlphaImageLoader was matched too. --- History.md | 5 +++++ lib/selectors/optimizers/simple.js | 4 ++-- test/integration-test.js | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 4e784dec..1310653b 100644 --- a/History.md +++ b/History.md @@ -5,6 +5,11 @@ * Fixed issue [#396](https://github.com/jakubpawlowicz/clean-css/issues/396) - better input source maps tracking. * Fixed issue [#480](https://github.com/jakubpawlowicz/clean-css/issues/480) - extracting uppercase property names. +[3.1.6 / 2015-xx-xx](https://github.com/jakubpawlowicz/clean-css/compare/v3.1.5...3.1) +================== + +* Fixes issue [#489](https://github.com/jakubpawlowicz/clean-css/issues/489) - `AlphaImageLoader` IE filter. + [3.1.5 / 2015-03-06](https://github.com/jakubpawlowicz/clean-css/compare/v3.1.4...v3.1.5) ================== diff --git a/lib/selectors/optimizers/simple.js b/lib/selectors/optimizers/simple.js index bd0361f8..b221c313 100644 --- a/lib/selectors/optimizers/simple.js +++ b/lib/selectors/optimizers/simple.js @@ -45,8 +45,8 @@ var valueMinifiers = { }, 'filter': function (value) { if (value.indexOf('DXImageTransform') === value.lastIndexOf('DXImageTransform')) { - value = value.replace(/progid:DXImageTransform\.Microsoft\.(Alpha|Chroma)/, function (match, filter) { - return filter.toLowerCase(); + value = value.replace(/progid:DXImageTransform\.Microsoft\.(Alpha|Chroma)(\W)/, function (match, filter, suffix) { + return filter.toLowerCase() + suffix; }); } diff --git a/test/integration-test.js b/test/integration-test.js index 5da35fd9..503b4eb7 100644 --- a/test/integration-test.js +++ b/test/integration-test.js @@ -1284,6 +1284,10 @@ title']{display:block}", 'multiple filters (IE7 issue)': [ "a{filter:progid:DXImageTransform.Microsoft.Chroma(color=#919191) progid:DXImageTransform.Microsoft.Matrix(M11=0.984, M22=0.984, M12=0.17, M21=-0.17, SizingMethod='auto expand')}", "a{filter:progid:DXImageTransform.Microsoft.Chroma(color=#919191) progid:DXImageTransform.Microsoft.Matrix(M11=.984, M22=.984, M12=.17, M21=-.17, SizingMethod='auto expand')}" + ], + 'AlphaImageLoader': [ + 'div{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/skyline.jpg)}', + 'div{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/skyline.jpg)}' ] }), 'charsets': cssContext({ -- 2.34.1