diff --git a/lib/less/parser.js b/lib/less/parser.js index 0605f0e1..fffd9e0b 100644 --- a/lib/less/parser.js +++ b/lib/less/parser.js @@ -642,28 +642,14 @@ less.Parser = function Parser(env) { if (input.charAt(i) !== 'u' || !$(/^url\(/)) return; value = $(this.entities.quoted) || $(this.entities.variable) || - $(this.entities.dataURI) || $(/^[-\w%@$\/.&=:;#+?~]+/) || ""; + $(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/) || ""; expect(')'); - return new(tree.URL)((value.value != null || value.data || value instanceof tree.Variable) + return new(tree.URL)((value.value != null || value instanceof tree.Variable) ? value : new(tree.Anonymous)(value), imports.paths); }, - dataURI: function () { - var obj; - - if ($(/^data:/)) { - obj = {}; - obj.mime = $(/^[^\/]+\/[^,;)]+/) || ''; - obj.charset = $(/^;\s*charset=[^,;)]+/) || ''; - obj.base64 = $(/^;\s*base64/) || ''; - obj.data = $(/^,\s*[^)]+/); - - if (obj.data) { return obj } - } - }, - // // A Variable entity, such as `@fink`, in // diff --git a/lib/less/tree/url.js b/lib/less/tree/url.js index 5462f77d..2bea3c32 100644 --- a/lib/less/tree/url.js +++ b/lib/less/tree/url.js @@ -1,23 +1,14 @@ (function (tree) { tree.URL = function (val, paths) { - if (val.data) { - this.attrs = val; - } else { - this.value = val; - this.paths = paths; - } + this.value = val; + this.paths = paths; }; tree.URL.prototype = { toCSS: function () { - return "url(" + (this.attrs ? 'data:' + this.attrs.mime + this.attrs.charset + this.attrs.base64 + this.attrs.data - : this.value.toCSS()) + ")"; + return "url(" + this.value.toCSS() + ")"; }, eval: function (ctx) { - if (this.attrs) { - return this; - } - var val = this.value.eval(ctx); // Add the base path if the URL is relative and we are in the browser diff --git a/test/css/css.css b/test/css/css.css index 9451d89f..e0e0aa78 100644 --- a/test/css/css.css +++ b/test/css/css.css @@ -84,6 +84,7 @@ p + h1 { k//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U kg9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC); background-image: url(data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==); + background-image: url(http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700); } #svg-data-uri { background: transparent url('data:image/svg+xml, '); diff --git a/test/less/css.less b/test/less/css.less index d787448e..2340f6e9 100644 --- a/test/less/css.less +++ b/test/less/css.less @@ -94,6 +94,7 @@ p + h1 { k//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U kg9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC); background-image: url(data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==); + background-image: url(http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700); } #svg-data-uri {