From eae7ec4ac35953cd4c5d8cf1c6a3e030ab82a8cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Forysiuk?= Date: Mon, 1 Nov 2010 19:35:29 +0100 Subject: [PATCH] Recognize -moz-document domain in user stylesheets --- extensions/addons.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/extensions/addons.c b/extensions/addons.c index 13947bf3..9fd2f7fb 100644 --- a/extensions/addons.c +++ b/extensions/addons.c @@ -821,11 +821,14 @@ css_metadata_from_file (const gchar* filename, gchar* value = NULL; if (g_str_has_prefix (parts[i], "url-prefix(")) value = g_strdup (parts[i] + strlen ("url-prefix(")); + else if (g_str_has_prefix (parts[i], "domain(")) + value = g_strdup (parts[i] + strlen ("domain(")); else if (g_str_has_prefix (parts[i], "url(")) value = g_strdup (parts[i] + strlen ("url(")); if (value) { guint j; + gchar* domain; if (value[0] != '\'' && value[0] != '"') { @@ -847,11 +850,17 @@ css_metadata_from_file (const gchar* filename, break; j++; } - *includes = g_slist_prepend (*includes, g_strndup (value + 1, j - 1)); + domain = g_strndup (value + 1, j - 1); + if (!strncmp ("http", domain, 4)) + *includes = g_slist_prepend (*includes, domain); + else + { + *includes = g_slist_prepend (*includes, + g_strdup_printf ("http://*%s/*", domain)); + g_free (domain); + } g_free (value); } - - /* FIXME: Recognize "domain" */ i++; } g_strfreev (parts);