]> spindle.queued.net Git - midori/commitdiff
Recognize -moz-document domain in user stylesheets
authorPaweł Forysiuk <tuxator@o2.pl>
Mon, 1 Nov 2010 18:35:29 +0000 (19:35 +0100)
committerChristian Dywan <christian@twotoasts.de>
Mon, 1 Nov 2010 18:35:29 +0000 (19:35 +0100)
extensions/addons.c

index 13947bf351dc778897672bd8a2fc15dff48abb5b..9fd2f7fb91788d86faff99e9cf0934f04e23b019 100644 (file)
@@ -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);