Skip to content

Commit e687f07

Browse files
committed
restore support for minifying zero values in expessions like attribute: x y z; or group(x y z)
1 parent 8d005bb commit e687f07

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/com/yahoo/platform/yui/compressor/CssCompressor.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,22 @@ public void compress(Writer out, int linebreakpos)
329329
css = css.replaceAll(";+}", "}");
330330

331331
// Replace 0(px,em,%) with 0.
332-
css = css.replaceAll("(?i)(^|: ?)((?:[0-9a-z-]+ )*)?(?:0?\\.)?0(?:px|em|%|in|cm|mm|pc|pt|ex|deg|g?rad|m?s|k?hz)", "$1$20");
332+
String oldCss;
333+
p = Pattern.compile("(?i)(^|: ?)((?:[0-9a-z-.]+ )*?)?(?:0?\\.)?0(?:px|em|%|in|cm|mm|pc|pt|ex|deg|g?rad|m?s|k?hz)");
334+
do {
335+
oldCss = css;
336+
m = p.matcher(css);
337+
css = m.replaceAll("$1$20");
338+
} while (!(css.equals(oldCss)));
339+
340+
// Replace 0(px,em,%) with 0 inside groups (e.g. -MOZ-RADIAL-GRADIENT(CENTER 45DEG, CIRCLE CLOSEST-SIDE, ORANGE 0%, RED 100%))
341+
p = Pattern.compile("(?i)\\( ?((?:[0-9a-z-.]+[ ,])*)?(?:0?\\.)?0(?:px|em|%|in|cm|mm|pc|pt|ex|deg|g?rad|m?s|k?hz)");
342+
do {
343+
oldCss = css;
344+
m = p.matcher(css);
345+
css = m.replaceAll("($10");
346+
} while (!(css.equals(oldCss)));
347+
333348
// Replace x.0(px,em,%) with x(px,em,%).
334349
css = css.replaceAll("([0-9])\\.0(px|em|%|in|cm|mm|pc|pt|ex|deg|g?rad|m?s|k?hz| |;)", "$1$2");
335350

0 commit comments

Comments
 (0)