Long compile time with SVG filter
pietvanzoen opened this issue · 2 comments
pietvanzoen commented
I ran into an issue where LESS (via node) takes up to 10 seconds to compile when I have this one line of SVG filter code in my less file:
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
Even if I comment out or escape it the compile hangs for a few seconds. If I delete this line the compile happens almost instantly.
A few lines down I have this SVG filter code which does not cause the same issue:
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
Here's the whole chunk for context:
.bottlenav_bottle {position: relative;
img { .transition(all 0.1s @cubic_ease);
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
filter: gray; /* IE6-9 */
-webkit-filter: grayscale(90%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}
&.active img {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter: grayscale(0%);
}
}
lukeapage commented
did you mean to add this bug here https://github.com/less/less.js/issues ?
lukeapage commented
moved
less/less.js#1565