};
return {
- process: function(selector, body, allowAdjacent, skipCompacting) {
+ process: function(selector, body, allowAdjacent, compactProperties) {
var tokenized = tokenize(body, selector);
var optimized = optimize(tokenized, allowAdjacent);
var rebuilt = rebuild(optimized);
- return !skipCompacting && processableInfo.implementedFor.test(rebuilt) ?
+ return compactProperties && processableInfo.implementedFor.test(rebuilt) ?
compact(rebuilt) :
rebuilt;
}
// TODO: broken due to joining/splitting
if (lastToken.selector && token.selector.join(',') == lastToken.selector.join(',')) {
var joinAt = [lastToken.body.length];
- lastToken.body = this.propertyOptimizer.process(token.selector, lastToken.body.concat(token.body), joinAt, false);
+ lastToken.body = this.propertyOptimizer.process(token.selector, lastToken.body.concat(token.body), joinAt, true);
forRemoval.push(i);
// TODO: broken due to joining/splitting
} else if (lastToken.body && token.body.join(';') == lastToken.body.join(';') && !this.isSpecial(token.selector.join(',')) && !this.isSpecial(lastToken.selector.join(','), this.options)) {
joinsAt.push((joinsAt[j - 1] || 0) + splitBodies[j].length);
}
- var optimizedBody = this.propertyOptimizer.process(selector, bodies, joinsAt, true);
+ var optimizedBody = this.propertyOptimizer.process(selector, bodies, joinsAt, false);
var optimizedProperties = optimizedBody;
var processedCount = processedTokens.length;
var token = tokens[i];
if (token.selector) {
- token.body = propertyOptimizer.process(token.selector, token.body, false, false);
+ token.body = propertyOptimizer.process(token.selector, token.body, false, true);
} else if (token.block) {
optimizeProperties(token.body, propertyOptimizer);
}