+ return _gtk_css_image_get_aspect_ratio (gtk_css_image_url_load_image (url));
+}
+
+static void
+gtk_css_image_url_draw (GtkCssImage *image,
+ cairo_t *cr,
+ double width,
+ double height)
+{
+ GtkCssImageUrl *url = GTK_CSS_IMAGE_URL (image);
+
+ _gtk_css_image_draw (gtk_css_image_url_load_image (url), cr, width, height);
+}
+
+static GtkCssImage *
+gtk_css_image_url_compute (GtkCssImage *image,
+ guint property_id,
+ GtkStyleProviderPrivate *provider,
+ GtkCssComputedValues *values,
+ GtkCssComputedValues *parent_values,
+ GtkCssDependencies *dependencies)
+{
+ GtkCssImageUrl *url = GTK_CSS_IMAGE_URL (image);
+
+ return g_object_ref (gtk_css_image_url_load_image (url));
+}
+
+static gboolean
+gtk_css_image_url_parse (GtkCssImage *image,
+ GtkCssParser *parser)
+{
+ GtkCssImageUrl *url = GTK_CSS_IMAGE_URL (image);
+
+ url->file = _gtk_css_parser_read_url (parser);
+ if (url->file == NULL)
+ return FALSE;
+
+ return TRUE;