From ea2b303c4fdd1b2cf4ab8053e50b46cfa8c584b7 Mon Sep 17 00:00:00 2001 From: Scott Jaderholm Date: Mon, 7 Jan 2013 12:54:29 -0500 Subject: [PATCH] make_css_data_uri: support @-moz-document regexp(...) The keyword argument $regexps allows the caller to supply one or more regular expressions (as strings or RegExp objects), to be used in the constructed stylesheet @-moz-document regexp(...) specification. @-moz-document regexp(...) was added in XULRunner 6. --- modules/stylesheet.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/stylesheet.js b/modules/stylesheet.js index 518df3f..16a05d6 100644 --- a/modules/stylesheet.js +++ b/modules/stylesheet.js @@ -68,19 +68,28 @@ function user_stylesheet_registered_p (url) { * * $url_prefixes: optional string, or array of strings, for a * @-moz-document url-prefix(...) header. + * + * $regexps: optional string or RegExp, or array of strings or RegExps, + * for a @-moz-document regexp(...) header. */ -define_keywords("$namespace", "$domains", "$urls", "$url_prefixes"); +define_keywords("$namespace", "$domains", "$urls", "$url_prefixes", "$regexps"); function make_css_data_uri (rules) { keywords(arguments); var namespace = arguments.$namespace; var domains = arguments.$domains; var urls = arguments.$urls; var url_prefixes = arguments.$url_prefixes; + var regexps = arguments.$regexps; rules = make_array(rules).join("\n"); var restrictions = Array.prototype.concat( make_array(domains).map(function (x) "domain("+x+")"), make_array(urls).map(function (x) "url("+x+")"), - make_array(url_prefixes).map(function (x) "url-prefix("+x+")")) + make_array(url_prefixes).map(function (x) "url-prefix("+x+")"), + make_array(regexps).map(function (x) { + return "regexp(\""+ + ((x instanceof RegExp) ? x.source : x)+ + "\")"; + })) .join(",\n"); if (restrictions) rules = "@-moz-document "+restrictions+" {\n"+rules+"\n}"; -- 2.11.4.GIT