From d4c586e8829c5afd586d01893f4fcab2dbf970f3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 29 May 2024 21:08:29 -0400 Subject: [PATCH 1/3] css: Simplify color values Drop the last_value. We don't do that for any other types of values, so lets not do it here either. --- gtk/gtkcsscolorvalue.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index 957dfeecfb..e0a80b2073 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -46,7 +46,6 @@ struct _GtkCssValue { GTK_CSS_VALUE_BASE ColorType type; - GtkCssValue *last_value; union { @@ -85,9 +84,6 @@ struct _GtkCssValue static void gtk_css_value_color_free (GtkCssValue *color) { - if (color->last_value) - gtk_css_value_unref (color->last_value); - switch (color->type) { case COLOR_TYPE_NAME: @@ -625,19 +621,6 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, g_assert_not_reached (); } - if (color->last_value != NULL && - gtk_css_value_equal (color->last_value, value)) - { - gtk_css_value_unref (value); - value = gtk_css_value_ref (color->last_value); - } - else - { - if (color->last_value != NULL) - gtk_css_value_unref (color->last_value); - color->last_value = gtk_css_value_ref (value); - } - return value; } @@ -649,9 +632,9 @@ gtk_css_color_value_resolve (GtkCssValue *color, return gtk_css_color_value_do_resolve (color, provider, current, NULL); } -static GtkCssValue transparent_black_singleton = { >K_CSS_VALUE_COLOR, 1, TRUE, FALSE, COLOR_TYPE_LITERAL, NULL, +static GtkCssValue transparent_black_singleton = { >K_CSS_VALUE_COLOR, 1, TRUE, FALSE, COLOR_TYPE_LITERAL, .rgba = {0, 0, 0, 0} }; -static GtkCssValue white_singleton = { >K_CSS_VALUE_COLOR, 1, TRUE, FALSE, COLOR_TYPE_LITERAL, NULL, +static GtkCssValue white_singleton = { >K_CSS_VALUE_COLOR, 1, TRUE, FALSE, COLOR_TYPE_LITERAL, .rgba = {1, 1, 1, 1} }; @@ -799,7 +782,7 @@ gtk_css_color_value_new_mix (GtkCssValue *color1, GtkCssValue * gtk_css_color_value_new_current_color (void) { - static GtkCssValue current_color = { >K_CSS_VALUE_COLOR, 1, FALSE, FALSE, COLOR_TYPE_CURRENT_COLOR, NULL, }; + static GtkCssValue current_color = { >K_CSS_VALUE_COLOR, 1, FALSE, FALSE, COLOR_TYPE_CURRENT_COLOR, }; return gtk_css_value_ref (¤t_color); } From 3ad2d91e1c3fcd0d4b28be2b8db8c1ecfe78a7e2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 29 May 2024 21:32:58 -0400 Subject: [PATCH 2/3] Cosmetics Fix minor style issues in gtkcsscolorvalue.c. --- gtk/gtkcsscolorvalue.c | 242 ++++++++++++++++++++--------------------- 1 file changed, 118 insertions(+), 124 deletions(-) diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index e0a80b2073..47ebc09c17 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -89,16 +89,20 @@ gtk_css_value_color_free (GtkCssValue *color) case COLOR_TYPE_NAME: g_free (color->name); break; + case COLOR_TYPE_SHADE: gtk_css_value_unref (color->shade.color); break; + case COLOR_TYPE_ALPHA: gtk_css_value_unref (color->alpha.color); break; + case COLOR_TYPE_MIX: gtk_css_value_unref (color->mix.color1); gtk_css_value_unref (color->mix.color2); break; + case COLOR_TYPE_LITERAL: case COLOR_TYPE_COLOR: case COLOR_TYPE_CURRENT_COLOR: @@ -123,6 +127,7 @@ gtk_css_value_color_get_fallback (guint property_id, case GTK_CSS_PROPERTY_ICON_SHADOW: case GTK_CSS_PROPERTY_BOX_SHADOW: return gtk_css_color_value_new_transparent (); + case GTK_CSS_PROPERTY_COLOR: case GTK_CSS_PROPERTY_BACKGROUND_COLOR: case GTK_CSS_PROPERTY_BORDER_TOP_COLOR: @@ -135,8 +140,10 @@ gtk_css_value_color_get_fallback (guint property_id, return gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)), property_id, context); + case GTK_CSS_PROPERTY_ICON_PALETTE: return gtk_css_value_ref (context->style->core->color); + default: if (property_id < GTK_CSS_PROPERTY_N_PROPERTIES) g_warning ("No fallback color defined for property '%s'", @@ -199,37 +206,46 @@ gtk_css_value_color_equal (const GtkCssValue *value1, { case COLOR_TYPE_LITERAL: return gdk_rgba_equal (&value1->rgba, &value2->rgba); + case COLOR_TYPE_COLOR: return value1->color.color_space == value2->color.color_space && memcmp (value1->color.values, value2->color.values, sizeof(float) * 4) == 0; + case COLOR_TYPE_NAME: return g_str_equal (value1->name, value2->name); + case COLOR_TYPE_SHADE: return value1->shade.factor == value2->shade.factor && gtk_css_value_equal (value1->shade.color, value2->shade.color); + case COLOR_TYPE_ALPHA: return value1->alpha.factor == value2->alpha.factor && gtk_css_value_equal (value1->alpha.color, value2->alpha.color); + case COLOR_TYPE_MIX: return value1->mix.factor == value2->mix.factor && gtk_css_value_equal (value1->mix.color1, value2->mix.color1) && gtk_css_value_equal (value1->mix.color2, value2->mix.color2); + case COLOR_TYPE_CURRENT_COLOR: return TRUE; + case COLOR_TYPE_OKLAB: return value1->oklab.L == value2->oklab.L && value1->oklab.a == value2->oklab.a && value1->oklab.b == value2->oklab.b && value1->oklab.alpha == value2->oklab.alpha; + case COLOR_TYPE_OKLCH: return value1->oklch.L == value2->oklch.L && value1->oklch.C == value2->oklch.C && value1->oklch.H == value2->oklch.H && value1->oklch.alpha == value2->oklch.alpha; + default: g_assert_not_reached (); return FALSE; @@ -249,6 +265,8 @@ static void gtk_css_value_color_print (const GtkCssValue *value, GString *string) { + char buffer[G_ASCII_DTOSTR_BUF_SIZE]; + switch (value->type) { case COLOR_TYPE_LITERAL: @@ -258,139 +276,117 @@ gtk_css_value_color_print (const GtkCssValue *value, g_free (s); } break; + case COLOR_TYPE_COLOR: - { - char fmt[G_ASCII_DTOSTR_BUF_SIZE]; + g_string_append (string, "color("); - g_string_append (string, "color("); - - switch (value->color.color_space) + switch (value->color.color_space) { - case GTK_CSS_COLOR_SPACE_SRGB: - g_string_append (string, "srgb"); - break; - case GTK_CSS_COLOR_SPACE_SRGB_LINEAR: - g_string_append (string, "srgb-linear"); - break; - default: - g_assert_not_reached (); + case GTK_CSS_COLOR_SPACE_SRGB: + g_string_append (string, "srgb"); + break; + + case GTK_CSS_COLOR_SPACE_SRGB_LINEAR: + g_string_append (string, "srgb-linear"); + break; + + default: + g_assert_not_reached (); } - g_string_append_c (string, ' '); + for (guint i = 0; i < 3; i++) + { + g_string_append_c (string, ' '); + g_ascii_formatd (buffer, sizeof (buffer), "%g", value->color.values[i]); + g_string_append (string, buffer); + } - g_ascii_formatd (fmt, G_ASCII_DTOSTR_BUF_SIZE, "%g", value->color.values[0]); - g_string_append (string, fmt); + if (value->color.values[3] < 0.999) + { + g_string_append (string, " / "); + g_ascii_formatd (buffer, sizeof (buffer), "%g", value->color.values[3]); + g_string_append (string, buffer); + } - g_string_append_c (string, ' '); - - g_ascii_formatd (fmt, G_ASCII_DTOSTR_BUF_SIZE, "%g", value->color.values[1]); - g_string_append (string, fmt); - - g_string_append_c (string, ' '); - - g_ascii_formatd (fmt, G_ASCII_DTOSTR_BUF_SIZE, "%g", value->color.values[2]); - g_string_append (string, fmt); - - if (value->color.values[3] < 0.999) - { - g_ascii_formatd (fmt, G_ASCII_DTOSTR_BUF_SIZE, "%g", value->color.values[3]); - - g_string_append (string, " / "); - g_string_append (string, fmt); - } - - g_string_append_c (string, ')'); - } + g_string_append_c (string, ')'); break; + case COLOR_TYPE_NAME: g_string_append (string, "@"); g_string_append (string, value->name); break; + case COLOR_TYPE_SHADE: - { - char factor[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append (string, "shade("); - gtk_css_value_print (value->shade.color, string); - g_string_append (string, ", "); - g_ascii_dtostr (factor, sizeof (factor), value->shade.factor); - g_string_append (string, factor); - g_string_append (string, ")"); - } + g_string_append (string, "shade("); + gtk_css_value_print (value->shade.color, string); + g_string_append (string, ", "); + g_ascii_dtostr (buffer, sizeof (buffer), value->shade.factor); + g_string_append (string, buffer); + g_string_append_c (string, ')'); break; + case COLOR_TYPE_ALPHA: - { - char factor[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append (string, "alpha("); - gtk_css_value_print (value->alpha.color, string); - g_string_append (string, ", "); - g_ascii_dtostr (factor, sizeof (factor), value->alpha.factor); - g_string_append (string, factor); - g_string_append (string, ")"); - } + g_string_append (string, "alpha("); + gtk_css_value_print (value->alpha.color, string); + g_string_append (string, ", "); + g_ascii_dtostr (buffer, sizeof (buffer), value->alpha.factor); + g_string_append (string, buffer); + g_string_append_c (string, ')'); break; + case COLOR_TYPE_MIX: - { - char factor[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append (string, "mix("); - gtk_css_value_print (value->mix.color1, string); - g_string_append (string, ", "); - gtk_css_value_print (value->mix.color2, string); - g_string_append (string, ", "); - g_ascii_dtostr (factor, sizeof (factor), value->mix.factor); - g_string_append (string, factor); - g_string_append (string, ")"); - } + g_string_append (string, "mix("); + gtk_css_value_print (value->mix.color1, string); + g_string_append (string, ", "); + gtk_css_value_print (value->mix.color2, string); + g_string_append (string, ", "); + g_ascii_dtostr (buffer, sizeof (buffer), value->mix.factor); + g_string_append (string, buffer); + g_string_append_c (string, ')'); break; + case COLOR_TYPE_CURRENT_COLOR: g_string_append (string, "currentColor"); break; + case COLOR_TYPE_OKLAB: - { - char buffer[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append (string, "oklab("); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.L); - g_string_append (string, buffer); - g_string_append_c (string, ' '); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.a); - g_string_append (string, buffer); - g_string_append_c (string, ' '); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.b); - g_string_append (string, buffer); - if (value->oklab.alpha < 0.999) - { - g_string_append (string, " / "); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.alpha); - g_string_append (string, buffer); - } - g_string_append (string, ")"); - } + g_string_append (string, "oklab("); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.L); + g_string_append (string, buffer); + g_string_append_c (string, ' '); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.a); + g_string_append (string, buffer); + g_string_append_c (string, ' '); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.b); + g_string_append (string, buffer); + if (value->oklab.alpha < 0.999) + { + g_string_append (string, " / "); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklab.alpha); + g_string_append (string, buffer); + } + g_string_append_c (string, ')'); break; + case COLOR_TYPE_OKLCH: - { - char buffer[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append (string, "oklch("); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.L); - g_string_append (string, buffer); - g_string_append_c (string, ' '); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.C); - g_string_append (string, buffer); - g_string_append_c (string, ' '); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.H); - g_string_append (string, buffer); - if (value->oklch.alpha < 0.999) - { - g_string_append (string, " / "); - g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.alpha); - g_string_append (string, buffer); - } - g_string_append (string, ")"); - } + g_string_append (string, "oklch("); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.L); + g_string_append (string, buffer); + g_string_append_c (string, ' '); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.C); + g_string_append (string, buffer); + g_string_append_c (string, ' '); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.H); + g_string_append (string, buffer); + if (value->oklch.alpha < 0.999) + { + g_string_append (string, " / "); + g_ascii_dtostr (buffer, sizeof (buffer), value->oklch.alpha); + g_string_append (string, buffer); + } + g_string_append_c (string, ')'); break; + default: g_assert_not_reached (); } @@ -471,13 +467,15 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, switch (color->type) { case COLOR_TYPE_LITERAL: - return gtk_css_value_ref (color); + value = gtk_css_value_ref (color); + break; + case COLOR_TYPE_COLOR: { GdkRGBA rgba; switch (color->color.color_space) - { + { case GTK_CSS_COLOR_SPACE_SRGB: rgba.red = CLAMP (color->color.values[0], 0, 1); rgba.green = CLAMP (color->color.values[1], 0, 1); @@ -495,10 +493,12 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, default: g_assert_not_reached (); - } + } - return gtk_css_color_value_new_literal (&rgba); + value = gtk_css_color_value_new_literal (&rgba); } + break; + case COLOR_TYPE_NAME: { GtkCssValue *named; @@ -514,11 +514,9 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, return NULL; value = gtk_css_color_value_do_resolve (named, provider, current, &cycle); - if (value == NULL) - return NULL; } - break; + case COLOR_TYPE_SHADE: { const GdkRGBA *c; @@ -535,8 +533,8 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, value = gtk_css_color_value_new_literal (&shade); gtk_css_value_unref (val); } - break; + case COLOR_TYPE_ALPHA: { const GdkRGBA *c; @@ -577,19 +575,15 @@ gtk_css_color_value_do_resolve (GtkCssValue *color, gtk_css_value_unref (val1); gtk_css_value_unref (val2); } - break; + case COLOR_TYPE_CURRENT_COLOR: if (current == NULL) - { - current = _gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (GTK_CSS_PROPERTY_COLOR)); + current = _gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (GTK_CSS_PROPERTY_COLOR)); - g_assert (current->class == >K_CSS_VALUE_COLOR); - g_assert (current->type == COLOR_TYPE_LITERAL); - } - - value = gtk_css_value_ref (current); + value = gtk_css_value_ref (current); break; + case COLOR_TYPE_OKLAB: { GdkRGBA rgba; From 3b40d9558174e2f10bffd82372d524a0aadcb61b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 29 May 2024 21:41:24 -0400 Subject: [PATCH 3/3] css: Fix currentcolor serialization According to css specs, the serialization is supposed to be all lowercase. --- gtk/gtkcsscolorvalue.c | 4 +- .../css/parser/background-shorthand.ref.css | 188 +++++++++--------- .../parser/border-color-currentcolor.ref.css | 8 +- testsuite/css/parser/border-color.ref.css | 8 +- testsuite/css/parser/box-shadow.ref.css | 6 +- testsuite/css/parser/color.ref.css | 2 +- .../parser/currentcolor-everywhere.ref.css | 21 ++ testsuite/css/parser/outline-color.ref.css | 2 +- testsuite/css/parser/shadow-ordering.ref.css | 6 +- testsuite/css/parser/shadow.ref.css | 70 +++---- .../css/parser/text-decoration-color.ref.css | 2 +- testsuite/css/parser/text-shadow.ref.css | 2 +- 12 files changed, 170 insertions(+), 149 deletions(-) create mode 100644 testsuite/css/parser/currentcolor-everywhere.ref.css diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index 47ebc09c17..2ab0c162ad 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -346,7 +346,7 @@ gtk_css_value_color_print (const GtkCssValue *value, break; case COLOR_TYPE_CURRENT_COLOR: - g_string_append (string, "currentColor"); + g_string_append (string, "currentcolor"); break; case COLOR_TYPE_OKLAB: @@ -1487,7 +1487,7 @@ gtk_css_color_value_parse (GtkCssParser *parser) GtkCssValue *value; GdkRGBA rgba; - if (gtk_css_parser_try_ident (parser, "currentColor")) + if (gtk_css_parser_try_ident (parser, "currentcolor")) { return gtk_css_color_value_new_current_color (); } diff --git a/testsuite/css/parser/background-shorthand.ref.css b/testsuite/css/parser/background-shorthand.ref.css index 8d14b4e781..9638c242ab 100644 --- a/testsuite/css/parser/background-shorthand.ref.css +++ b/testsuite/css/parser/background-shorthand.ref.css @@ -150,7 +150,7 @@ o { p { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: content-box; background-position: 5px bottom; @@ -200,7 +200,7 @@ t { u { background-clip: border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: padding-box, border-box; background-position: left top, left top; @@ -410,7 +410,7 @@ ob { pb { background-clip: border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */; background-origin: padding-box, padding-box, padding-box; background-position: left top, 10%, center; @@ -620,7 +620,7 @@ jc { kc { background-clip: padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */; background-origin: padding-box; background-position: 5px bottom; @@ -650,7 +650,7 @@ mc { nc { background-clip: content-box, border-box, content-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, none /* FIXME */; background-origin: content-box, padding-box, content-box, padding-box; background-position: 5px bottom, left top, left top, 10%; @@ -680,7 +680,7 @@ pc { qc { background-clip: content-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none; background-origin: content-box, content-box, padding-box; background-position: 5px bottom, center, 10%; @@ -700,7 +700,7 @@ rc { sc { background-clip: content-box, border-box, border-box, border-box, border-box, border-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none, none, none; background-origin: content-box, border-box, border-box, padding-box, padding-box, padding-box, border-box, padding-box; background-position: left top, 10%, left top, 5px bottom, left top, 5px bottom, left top, left top; @@ -800,7 +800,7 @@ bd { cd { background-clip: border-box, padding-box, padding-box, border-box, padding-box, content-box, content-box, content-box, border-box, border-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-origin: padding-box, padding-box, padding-box, border-box, padding-box, content-box, padding-box, content-box, padding-box, border-box, border-box, padding-box, padding-box; background-position: left top, center, 5px bottom, left top, left top, left top, left top, left top, center, left top, left top, 10%, left top; @@ -870,7 +870,7 @@ id { jd { background-clip: border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: border-box, content-box; background-position: 10%, left top; @@ -1090,7 +1090,7 @@ ee { fe { background-clip: padding-box, padding-box, border-box, border-box, border-box, content-box, content-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-origin: border-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, padding-box, content-box; background-position: left top, left top, 5px bottom, center, 10%, left top, center, center, 5px bottom; @@ -1150,7 +1150,7 @@ ke { le { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box; background-position: center; @@ -1180,7 +1180,7 @@ ne { oe { background-clip: border-box, padding-box, padding-box, content-box, border-box, content-box, border-box, content-box, border-box, content-box, padding-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none; background-origin: border-box, padding-box, padding-box, content-box, border-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, padding-box, padding-box; background-position: 5px bottom, 5px bottom, center, left top, left top, 10%, left top, left top, left top, 5px bottom, left top, 5px bottom, left top; @@ -1230,7 +1230,7 @@ se { te { background-clip: border-box, border-box, border-box, padding-box, content-box, content-box, padding-box, padding-box, padding-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, border-box, padding-box, content-box, padding-box, content-box, padding-box, padding-box, padding-box, content-box, content-box; background-position: left top, left top, left top, center, 5px bottom, center, left top, 10%, center, 10%, 5px bottom; @@ -1260,7 +1260,7 @@ ve { we { background-clip: padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: left top; @@ -1280,7 +1280,7 @@ xe { ye { background-clip: content-box, content-box, content-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: content-box, content-box, content-box, padding-box, content-box; background-position: left top, left top, left top, left top, left top; @@ -1350,7 +1350,7 @@ ef { ff { background-clip: border-box, border-box, border-box, content-box, padding-box, border-box, content-box, padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none /* FIXME */, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, padding-box, padding-box, content-box, border-box, padding-box, border-box, padding-box, padding-box; background-position: 5px bottom, left top, center, left top, center, left top, left top, left top, left top; @@ -1370,7 +1370,7 @@ gf { hf { background-clip: padding-box, border-box, padding-box, content-box, border-box, padding-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, border-box, content-box, border-box, padding-box, padding-box, content-box, padding-box; background-position: center, 5px bottom, left top, left top, center, 5px bottom, left top, left top; @@ -1430,7 +1430,7 @@ mf { nf { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: left top; @@ -1500,7 +1500,7 @@ tf { uf { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */; background-origin: padding-box; background-position: left top; @@ -1550,7 +1550,7 @@ yf { zf { background-clip: border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: border-box, border-box; background-position: left top, left top; @@ -1570,7 +1570,7 @@ ag { bg { background-clip: content-box, border-box, padding-box, border-box, border-box, border-box, padding-box, border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none /* FIXME */, none, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: content-box, padding-box, border-box, border-box, padding-box, border-box, padding-box, border-box, content-box, border-box; background-position: 10%, left top, left top, 10%, left top, left top, 10%, left top, 10%, left top; @@ -1750,7 +1750,7 @@ sg { tg { background-clip: content-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none; background-origin: border-box, padding-box, content-box; background-position: left top, left top, center; @@ -1760,7 +1760,7 @@ tg { ug { background-clip: border-box, content-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, border-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, content-box, padding-box, content-box, border-box, padding-box, padding-box, padding-box, border-box, padding-box, padding-box; background-position: 10%, 10%, 5px bottom, center, center, left top, left top, left top, 5px bottom, 10%, 5px bottom; @@ -1930,7 +1930,7 @@ kh { lh { background-clip: border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: border-box, border-box; background-position: left top, center; @@ -1950,7 +1950,7 @@ mh { nh { background-clip: border-box, border-box, border-box, border-box, padding-box, border-box, border-box, padding-box, content-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: border-box, padding-box, padding-box, content-box, padding-box, padding-box, border-box, padding-box, content-box, border-box; background-position: center, left top, center, center, 5px bottom, 5px bottom, 10%, left top, 5px bottom, center; @@ -2010,7 +2010,7 @@ sh { th { background-clip: content-box, content-box, border-box, padding-box, border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: border-box, content-box, border-box, border-box, border-box, content-box, padding-box; background-position: left top, 5px bottom, left top, left top, left top, center, 10%; @@ -2080,7 +2080,7 @@ zh { ai { background-clip: padding-box, padding-box, content-box, border-box, border-box, content-box, border-box, border-box, padding-box, padding-box, padding-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none, none, none /* FIXME */, none; background-origin: padding-box, padding-box, content-box, border-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, border-box; background-position: 10%, center, 10%, 5px bottom, left top, left top, left top, 5px bottom, center, 5px bottom, 10%, left top, left top; @@ -2290,7 +2290,7 @@ ui { vi { background-clip: border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: padding-box, content-box; background-position: center, 5px bottom; @@ -2340,7 +2340,7 @@ zi { aj { background-clip: padding-box, content-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none, none; background-origin: padding-box, content-box, content-box, padding-box; background-position: 5px bottom, left top, left top, center; @@ -2400,7 +2400,7 @@ fj { gj { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: left top; @@ -2610,7 +2610,7 @@ ak { bk { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: border-box; background-position: left top; @@ -2630,7 +2630,7 @@ ck { dk { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: border-box; background-position: center; @@ -2670,7 +2670,7 @@ gk { hk { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: content-box; background-position: left top; @@ -2730,7 +2730,7 @@ mk { nk { background-clip: border-box, content-box, padding-box, border-box, border-box, border-box, border-box, padding-box, padding-box, border-box, content-box, padding-box, padding-box, border-box, padding-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */; background-origin: border-box, content-box, padding-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, padding-box, content-box, content-box, padding-box, content-box, padding-box, content-box, padding-box; background-position: 10%, left top, left top, left top, left top, 5px bottom, left top, center, left top, 10%, 5px bottom, left top, 5px bottom, center, left top, left top, left top; @@ -2780,7 +2780,7 @@ rk { sk { background-clip: content-box, border-box, border-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: content-box, border-box, padding-box, padding-box, padding-box; background-position: left top, center, 10%, 10%, center; @@ -2920,7 +2920,7 @@ fl { gl { background-clip: padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: border-box; background-position: 10%; @@ -3010,7 +3010,7 @@ ol { pl { background-clip: content-box, padding-box, border-box, border-box, content-box, content-box, border-box, border-box, padding-box, padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, padding-box, border-box, border-box, content-box, content-box, padding-box, padding-box, padding-box, padding-box, padding-box; background-position: left top, left top, left top, 5px bottom, 5px bottom, 5px bottom, 5px bottom, 5px bottom, 5px bottom, 5px bottom, 5px bottom; @@ -3020,7 +3020,7 @@ pl { ql { background-clip: content-box, border-box, content-box, border-box, border-box, content-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: border-box, border-box, border-box, border-box, border-box, border-box, content-box; background-position: left top, center, left top, left top, left top, 10%, 10%; @@ -3030,7 +3030,7 @@ ql { rl { background-clip: padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: padding-box, content-box; background-position: left top, 5px bottom; @@ -3040,7 +3040,7 @@ rl { sl { background-clip: padding-box, border-box, content-box, border-box, padding-box, border-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */, none, none, none, none /* FIXME */; background-origin: padding-box, padding-box, content-box, border-box, padding-box, padding-box, padding-box, content-box; background-position: left top, center, left top, left top, 10%, 5px bottom, left top, left top; @@ -3060,7 +3060,7 @@ tl { ul { background-clip: content-box, border-box, border-box, content-box, padding-box, border-box, padding-box, border-box, border-box, content-box, border-box, border-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: content-box, padding-box, border-box, padding-box, padding-box, border-box, padding-box, padding-box, padding-box, content-box, padding-box, border-box, padding-box, content-box; background-position: 5px bottom, left top, 10%, center, left top, left top, 10%, center, left top, center, 10%, 10%, 10%, left top; @@ -3140,7 +3140,7 @@ bm { cm { background-clip: border-box, padding-box, border-box, content-box, border-box, border-box, content-box, content-box, padding-box, content-box, border-box, border-box, content-box, border-box, border-box, content-box, border-box, content-box, border-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-origin: padding-box, border-box, padding-box, content-box, padding-box, padding-box, content-box, padding-box, border-box, content-box, padding-box, border-box, border-box, padding-box, padding-box, border-box, padding-box, content-box, border-box, border-box, padding-box, border-box; background-position: left top, left top, center, 10%, left top, left top, center, left top, 10%, left top, 10%, left top, center, 5px bottom, center, left top, center, 10%, 5px bottom, 5px bottom, left top, 10%; @@ -3200,7 +3200,7 @@ hm { im { background-clip: border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none; background-origin: border-box, content-box, padding-box; background-position: left top, left top, center; @@ -3250,7 +3250,7 @@ mm { nm { background-clip: border-box, padding-box, content-box, border-box, content-box, content-box, border-box, border-box, content-box, border-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none /* FIXME */, none, none /* FIXME */, none, none, none /* FIXME */; background-origin: padding-box, padding-box, content-box, border-box, content-box, content-box, padding-box, padding-box, content-box, border-box, border-box, content-box; background-position: center, left top, 10%, left top, left top, 10%, center, 10%, left top, left top, 5px bottom, 5px bottom; @@ -3270,7 +3270,7 @@ om { pm { background-clip: content-box, border-box, border-box, content-box, border-box, border-box, padding-box, border-box, border-box, content-box, border-box, border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, none /* FIXME */; background-origin: content-box, padding-box, padding-box, border-box, border-box, border-box, border-box, padding-box, padding-box, content-box, border-box, padding-box, content-box, padding-box; background-position: left top, left top, 10%, center, center, 10%, center, center, center, left top, left top, 10%, left top, left top; @@ -3320,7 +3320,7 @@ tm { um { background-clip: padding-box, border-box, content-box, content-box, content-box, padding-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-origin: padding-box, padding-box, border-box, content-box, border-box, content-box, padding-box, content-box; background-position: 5px bottom, 5px bottom, left top, center, 10%, left top, left top, left top; @@ -3400,7 +3400,7 @@ bn { cn { background-clip: padding-box, padding-box, content-box, border-box, content-box, content-box, content-box, content-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none /* FIXME */, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none; background-origin: padding-box, padding-box, content-box, border-box, content-box, content-box, border-box, content-box, border-box; background-position: center, 10%, center, left top, left top, 10%, center, left top, center; @@ -3450,7 +3450,7 @@ gn { hn { background-clip: content-box, content-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, content-box, padding-box; background-position: center, left top, 5px bottom; @@ -3750,7 +3750,7 @@ ko { lo { background-clip: content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none; background-origin: content-box, border-box; background-position: left top, 5px bottom; @@ -3790,7 +3790,7 @@ oo { po { background-clip: border-box, border-box, padding-box, padding-box, border-box, padding-box, content-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none /* FIXME */; background-origin: border-box, content-box, content-box, padding-box, padding-box, padding-box, content-box, content-box, padding-box; background-position: 10%, 5px bottom, 5px bottom, left top, left top, 5px bottom, left top, left top, left top; @@ -3810,7 +3810,7 @@ qo { ro { background-clip: border-box, padding-box, border-box, border-box, content-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-origin: border-box, padding-box, border-box, padding-box, border-box, content-box; background-position: center, 5px bottom, left top, left top, left top, center; @@ -3820,7 +3820,7 @@ ro { so { background-clip: padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */; background-origin: padding-box, padding-box; background-position: left top, left top; @@ -3900,7 +3900,7 @@ zo { ap { background-clip: content-box, border-box, border-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, border-box, content-box, border-box, padding-box; background-position: left top, 10%, left top, 10%, 10%; @@ -3910,7 +3910,7 @@ ap { bp { background-clip: padding-box, border-box, border-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, none /* FIXME */, none; background-origin: padding-box, border-box, border-box, padding-box, padding-box; background-position: left top, 5px bottom, center, 5px bottom, left top; @@ -3940,7 +3940,7 @@ dp { ep { background-clip: content-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none; background-origin: border-box, border-box, padding-box; background-position: 5px bottom, center, center; @@ -3970,7 +3970,7 @@ gp { hp { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: content-box; background-position: 5px bottom; @@ -4200,7 +4200,7 @@ dq { eq { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: content-box; background-position: 10%; @@ -4270,7 +4270,7 @@ kq { lq { background-clip: border-box, border-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-origin: padding-box, padding-box, padding-box, padding-box, content-box; background-position: 5px bottom, left top, left top, 10%, 10%; @@ -4330,7 +4330,7 @@ qq { rq { background-clip: border-box, border-box, padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: border-box, padding-box, content-box, padding-box; background-position: left top, left top, 5px bottom, center; @@ -4400,7 +4400,7 @@ xq { yq { background-clip: border-box, border-box, content-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none; background-origin: padding-box, padding-box, content-box, padding-box; background-position: 5px bottom, left top, left top, 5px bottom; @@ -4540,7 +4540,7 @@ lr { mr { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: center; @@ -4550,7 +4550,7 @@ mr { nr { background-clip: content-box, padding-box, content-box, padding-box, padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none, none, none /* FIXME */, none /* FIXME */; background-origin: content-box, padding-box, content-box, padding-box, padding-box, border-box; background-position: left top, 5px bottom, 10%, left top, left top, 10%; @@ -4560,7 +4560,7 @@ nr { or { background-clip: padding-box, padding-box, content-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: border-box, padding-box, content-box, padding-box, padding-box; background-position: 5px bottom, left top, 10%, 10%, 10%; @@ -4700,7 +4700,7 @@ bs { cs { background-clip: border-box, content-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, content-box, border-box, padding-box; background-position: left top, left top, left top, left top; @@ -4790,7 +4790,7 @@ ks { ls { background-clip: border-box, padding-box, padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: padding-box, padding-box, padding-box, padding-box; background-position: left top, 10%, left top, left top; @@ -4880,7 +4880,7 @@ ts { us { background-clip: padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: 10%; @@ -5020,7 +5020,7 @@ ht { it { background-clip: content-box, content-box, border-box, border-box, padding-box, content-box, padding-box, border-box, content-box, border-box, border-box, border-box, content-box, border-box, padding-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none /* FIXME */, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-origin: padding-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, content-box, padding-box, padding-box, border-box, padding-box, padding-box; background-position: center, 5px bottom, left top, 5px bottom, left top, 5px bottom, left top, left top, left top, left top, center, left top, 5px bottom, 5px bottom, 10%, left top, left top, left top; @@ -5190,7 +5190,7 @@ yt { zt { background-clip: padding-box, padding-box, border-box, padding-box, border-box, border-box, border-box, content-box, padding-box, content-box, border-box, border-box, content-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */; background-origin: content-box, padding-box, border-box, content-box, padding-box, padding-box, padding-box, padding-box, padding-box, content-box, border-box, border-box, padding-box, content-box, padding-box; background-position: 10%, left top, center, left top, left top, left top, center, center, center, center, 10%, 10%, center, left top, left top; @@ -5210,7 +5210,7 @@ au { bu { background-clip: padding-box, border-box, border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, padding-box, content-box, border-box, padding-box; background-position: center, left top, left top, 10%, 5px bottom; @@ -5260,7 +5260,7 @@ fu { gu { background-clip: content-box, border-box, border-box, border-box, padding-box, border-box, content-box, content-box, border-box, content-box, border-box, content-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, padding-box, padding-box, border-box, padding-box, padding-box, content-box, border-box, padding-box, content-box, border-box, content-box, border-box, content-box; background-position: 5px bottom, left top, left top, 10%, center, 5px bottom, left top, center, left top, 5px bottom, left top, left top, 5px bottom, center; @@ -5330,7 +5330,7 @@ mu { nu { background-clip: padding-box, content-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, content-box, padding-box, border-box; background-position: 10%, center, 5px bottom, left top; @@ -5420,7 +5420,7 @@ vu { wu { background-clip: border-box, content-box, content-box, border-box, content-box, border-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-origin: border-box, content-box, content-box, padding-box, content-box, border-box, border-box, padding-box; background-position: left top, left top, center, left top, left top, 10%, 5px bottom, 5px bottom; @@ -5440,7 +5440,7 @@ xu { yu { background-clip: border-box, content-box, content-box, content-box, padding-box, padding-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none /* FIXME */, none, none, none, none, none; background-origin: border-box, content-box, padding-box, content-box, padding-box, padding-box, padding-box, content-box; background-position: 10%, left top, center, 10%, 5px bottom, 5px bottom, 10%, left top; @@ -5450,7 +5450,7 @@ yu { zu { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: 5px bottom; @@ -5530,7 +5530,7 @@ gv { hv { background-clip: border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */; background-origin: padding-box, content-box; background-position: center, left top; @@ -5590,7 +5590,7 @@ mv { nv { background-clip: padding-box, content-box, content-box, padding-box, padding-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none /* FIXME */; background-origin: padding-box, content-box, border-box, padding-box, padding-box, content-box, padding-box; background-position: center, left top, 10%, left top, left top, left top, 5px bottom; @@ -5680,7 +5680,7 @@ vv { wv { background-clip: content-box, content-box, border-box, border-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, padding-box, padding-box, padding-box, content-box, padding-box; background-position: left top, left top, center, 10%, left top, center; @@ -5780,7 +5780,7 @@ fw { gw { background-clip: border-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: padding-box, border-box, padding-box; background-position: left top, 10%, 10%; @@ -5810,7 +5810,7 @@ iw { jw { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: border-box; background-position: center; @@ -5850,7 +5850,7 @@ mw { nw { background-clip: content-box, content-box, border-box, border-box, content-box, content-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none, none, none, none /* FIXME */, none, none /* FIXME */; background-origin: content-box, content-box, padding-box, padding-box, content-box, content-box, padding-box; background-position: left top, 5px bottom, left top, left top, left top, 5px bottom, center; @@ -5880,7 +5880,7 @@ pw { qw { background-clip: padding-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none; background-origin: content-box, border-box; background-position: 5px bottom, left top; @@ -5890,7 +5890,7 @@ qw { rw { background-clip: border-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none; background-origin: padding-box, border-box, content-box; background-position: left top, left top, left top; @@ -6010,7 +6010,7 @@ cx { dx { background-clip: content-box, content-box, content-box, content-box, padding-box, border-box, padding-box, border-box, content-box, content-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-origin: content-box, border-box, border-box, content-box, padding-box, padding-box, padding-box, padding-box, content-box, content-box, border-box; background-position: 5px bottom, left top, left top, left top, 5px bottom, 5px bottom, 5px bottom, 5px bottom, left top, left top, left top; @@ -6080,7 +6080,7 @@ jx { kx { background-clip: border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: 5px bottom; @@ -6140,7 +6140,7 @@ px { qx { background-clip: border-box, border-box, content-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: border-box, border-box, content-box, content-box; background-position: left top, 5px bottom, 10%, 5px bottom; @@ -6200,7 +6200,7 @@ vx { wx { background-clip: padding-box, border-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-origin: padding-box, border-box, content-box; background-position: center, left top, left top; @@ -6220,7 +6220,7 @@ xx { yx { background-clip: padding-box, border-box, content-box, padding-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none; background-origin: padding-box, padding-box, border-box, padding-box, padding-box, content-box, border-box; background-position: 10%, 5px bottom, 5px bottom, 5px bottom, 10%, left top, left top; @@ -6230,7 +6230,7 @@ yx { zx { background-clip: padding-box, border-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none /* FIXME */, none /* FIXME */, none; background-origin: content-box, padding-box, padding-box; background-position: left top, 5px bottom, 10%; @@ -6250,7 +6250,7 @@ ay { by { background-clip: padding-box, border-box, padding-box, content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-origin: padding-box, padding-box, border-box, padding-box; background-position: 5px bottom, 10%, left top, center; @@ -6270,7 +6270,7 @@ cy { dy { background-clip: content-box, content-box, padding-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none; background-origin: content-box, content-box, padding-box, padding-box; background-position: left top, left top, left top, 10%; @@ -6310,7 +6310,7 @@ gy { hy { background-clip: content-box; - background-color: currentColor; + background-color: currentcolor; background-image: none; background-origin: padding-box; background-position: 10%; @@ -6420,7 +6420,7 @@ ry { sy { background-clip: border-box, border-box, content-box, padding-box, padding-box, border-box, content-box, padding-box, content-box, border-box, border-box, padding-box, content-box, border-box, content-box, border-box, content-box, padding-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none, none, none, none, none, none, none /* FIXME */, none, none, none, none /* FIXME */, none /* FIXME */, none, none, none, none, none; background-origin: padding-box, border-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, border-box, border-box, padding-box, padding-box, border-box, content-box, padding-box, padding-box, content-box, padding-box; background-position: left top, 5px bottom, center, left top, left top, 10%, left top, left top, left top, 10%, left top, left top, left top, center, 10%, left top, 5px bottom, left top; @@ -6670,7 +6670,7 @@ qz { rz { background-clip: padding-box, content-box, border-box, border-box, border-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, none, none, none; background-origin: padding-box, border-box, border-box, border-box, padding-box, padding-box, border-box; background-position: 5px bottom, left top, center, center, center, center, left top; @@ -6710,7 +6710,7 @@ uz { vz { background-clip: border-box, border-box, content-box, border-box, border-box; - background-color: currentColor; + background-color: currentcolor; background-image: none, none /* FIXME */, none, none, none /* FIXME */; background-origin: border-box, padding-box, content-box, padding-box, content-box; background-position: left top, 10%, 5px bottom, center, 5px bottom; diff --git a/testsuite/css/parser/border-color-currentcolor.ref.css b/testsuite/css/parser/border-color-currentcolor.ref.css index ffc9cfd6b9..1d0a0cbe19 100644 --- a/testsuite/css/parser/border-color-currentcolor.ref.css +++ b/testsuite/css/parser/border-color-currentcolor.ref.css @@ -1,6 +1,6 @@ * { - border-bottom-color: currentColor; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: currentColor; + border-bottom-color: currentcolor; + border-left-color: currentcolor; + border-right-color: currentcolor; + border-top-color: currentcolor; } diff --git a/testsuite/css/parser/border-color.ref.css b/testsuite/css/parser/border-color.ref.css index fda28aef38..158ad0c29b 100644 --- a/testsuite/css/parser/border-color.ref.css +++ b/testsuite/css/parser/border-color.ref.css @@ -20,10 +20,10 @@ c { } d { - border-bottom-color: currentColor; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: currentColor; + border-bottom-color: currentcolor; + border-left-color: currentcolor; + border-right-color: currentcolor; + border-top-color: currentcolor; } e { diff --git a/testsuite/css/parser/box-shadow.ref.css b/testsuite/css/parser/box-shadow.ref.css index 7066b34030..f2a0b04a5e 100644 --- a/testsuite/css/parser/box-shadow.ref.css +++ b/testsuite/css/parser/box-shadow.ref.css @@ -15,15 +15,15 @@ d { } e { - box-shadow: 1px 2px currentColor; + box-shadow: 1px 2px currentcolor; } f { - box-shadow: 1px 2px 3px currentColor; + box-shadow: 1px 2px 3px currentcolor; } g { - box-shadow: 1px 2px 3px 4px currentColor; + box-shadow: 1px 2px 3px 4px currentcolor; } h { diff --git a/testsuite/css/parser/color.ref.css b/testsuite/css/parser/color.ref.css index 71f83b9190..5e6a4e103b 100644 --- a/testsuite/css/parser/color.ref.css +++ b/testsuite/css/parser/color.ref.css @@ -13,7 +13,7 @@ c { } d { - color: currentColor; + color: currentcolor; } e { diff --git a/testsuite/css/parser/currentcolor-everywhere.ref.css b/testsuite/css/parser/currentcolor-everywhere.ref.css new file mode 100644 index 0000000000..40072c5741 --- /dev/null +++ b/testsuite/css/parser/currentcolor-everywhere.ref.css @@ -0,0 +1,21 @@ +@define-color some-color currentcolor; + +a { + color: currentcolor; +} + +b { + color: shade(currentcolor, 1.5); +} + +c { + color: alpha(currentcolor, 0.5); +} + +d { + color: mix(currentcolor, @some-color, 0.5); +} + +e { + color: mix(@some-color, currentcolor, 0.5); +} diff --git a/testsuite/css/parser/outline-color.ref.css b/testsuite/css/parser/outline-color.ref.css index 410de491f8..523f0c6a52 100644 --- a/testsuite/css/parser/outline-color.ref.css +++ b/testsuite/css/parser/outline-color.ref.css @@ -11,7 +11,7 @@ c { } d { - outline-color: currentColor; + outline-color: currentcolor; } e { diff --git a/testsuite/css/parser/shadow-ordering.ref.css b/testsuite/css/parser/shadow-ordering.ref.css index ee7a10a2b1..44d0f17c4c 100644 --- a/testsuite/css/parser/shadow-ordering.ref.css +++ b/testsuite/css/parser/shadow-ordering.ref.css @@ -1,9 +1,9 @@ a { - box-shadow: 0 0 currentColor; + box-shadow: 0 0 currentcolor; } b { - box-shadow: 0 0 currentColor inset; + box-shadow: 0 0 currentcolor inset; } c { @@ -19,7 +19,7 @@ e { } f { - box-shadow: 0 0 currentColor inset; + box-shadow: 0 0 currentcolor inset; } g { diff --git a/testsuite/css/parser/shadow.ref.css b/testsuite/css/parser/shadow.ref.css index 7252e243cc..4ae0c7230a 100644 --- a/testsuite/css/parser/shadow.ref.css +++ b/testsuite/css/parser/shadow.ref.css @@ -7,7 +7,7 @@ b { } c { - box-shadow: 3px 0.25pt 0.125pt -1em currentColor inset; + box-shadow: 3px 0.25pt 0.125pt -1em currentcolor inset; } d { @@ -19,7 +19,7 @@ e { } f { - box-shadow: 0 0 1em currentColor inset; + box-shadow: 0 0 1em currentcolor inset; } g { @@ -27,11 +27,11 @@ g { } h { - box-shadow: 0.25pt 0 0.125pt -1em currentColor inset; + box-shadow: 0.25pt 0 0.125pt -1em currentcolor inset; } i { - box-shadow: 0.25pt 3px currentColor inset; + box-shadow: 0.25pt 3px currentcolor inset; } j { @@ -55,23 +55,23 @@ n { } o { - box-shadow: 3px -1em 0.125pt currentColor inset; + box-shadow: 3px -1em 0.125pt currentcolor inset; } p { - box-shadow: 0 3px currentColor inset; + box-shadow: 0 3px currentcolor inset; } q { - box-shadow: 3px 0.25pt currentColor inset; + box-shadow: 3px 0.25pt currentcolor inset; } r { - box-shadow: 3px -1em 3px 0.25pt currentColor inset; + box-shadow: 3px -1em 3px 0.25pt currentcolor inset; } s { - box-shadow: -1em -1em currentColor inset; + box-shadow: -1em -1em currentcolor inset; } t { @@ -87,7 +87,7 @@ v { } w { - box-shadow: 0.25pt -1em currentColor inset; + box-shadow: 0.25pt -1em currentcolor inset; } x { @@ -111,7 +111,7 @@ bb { } cb { - box-shadow: 0 0 currentColor; + box-shadow: 0 0 currentcolor; } db { @@ -123,7 +123,7 @@ eb { } fb { - box-shadow: 3px 3px 3px 0.25pt currentColor; + box-shadow: 3px 3px 3px 0.25pt currentcolor; } gb { @@ -135,7 +135,7 @@ hb { } ib { - box-shadow: -1em 0.25pt currentColor; + box-shadow: -1em 0.25pt currentcolor; } jb { @@ -147,7 +147,7 @@ kb { } lb { - box-shadow: 3px -1em currentColor inset; + box-shadow: 3px -1em currentcolor inset; } mb { @@ -155,7 +155,7 @@ mb { } nb { - box-shadow: -1em 0 0 -1em currentColor inset; + box-shadow: -1em 0 0 -1em currentcolor inset; } ob { @@ -163,7 +163,7 @@ ob { } pb { - box-shadow: 0.25pt 0 0.125pt currentColor; + box-shadow: 0.25pt 0 0.125pt currentcolor; } qb { @@ -195,11 +195,11 @@ wb { } xb { - box-shadow: 3px 0.25pt 3px 0.25pt currentColor; + box-shadow: 3px 0.25pt 3px 0.25pt currentcolor; } yb { - box-shadow: 0.25pt 3px 1em -1em currentColor inset; + box-shadow: 0.25pt 3px 1em -1em currentcolor inset; } zb { @@ -207,15 +207,15 @@ zb { } ac { - box-shadow: 0.25pt -1em 3px -1em currentColor; + box-shadow: 0.25pt -1em 3px -1em currentcolor; } bc { - box-shadow: -1em 0 currentColor; + box-shadow: -1em 0 currentcolor; } cc { - box-shadow: -1em 3px 0 -1em currentColor inset; + box-shadow: -1em 3px 0 -1em currentcolor inset; } dc { @@ -243,7 +243,7 @@ ic { } jc { - box-shadow: 0 -1em 3px currentColor inset; + box-shadow: 0 -1em 3px currentcolor inset; } kc { @@ -267,7 +267,7 @@ oc { } pc { - box-shadow: 3px -1em currentColor inset; + box-shadow: 3px -1em currentcolor inset; } qc { @@ -279,15 +279,15 @@ rc { } sc { - box-shadow: 3px 0.25pt currentColor inset; + box-shadow: 3px 0.25pt currentcolor inset; } tc { - box-shadow: 3px -1em 0 -1em currentColor inset; + box-shadow: 3px -1em 0 -1em currentcolor inset; } uc { - box-shadow: 0.25pt 0 currentColor; + box-shadow: 0.25pt 0 currentcolor; } vc { @@ -295,11 +295,11 @@ vc { } wc { - box-shadow: -1em 0.25pt currentColor inset; + box-shadow: -1em 0.25pt currentcolor inset; } xc { - box-shadow: 3px 0.25pt 0 -1em currentColor inset; + box-shadow: 3px 0.25pt 0 -1em currentcolor inset; } yc { @@ -307,7 +307,7 @@ yc { } zc { - box-shadow: -1em -1em currentColor inset; + box-shadow: -1em -1em currentcolor inset; } ad { @@ -327,7 +327,7 @@ dd { } ed { - box-shadow: 0.25pt 0 currentColor; + box-shadow: 0.25pt 0 currentcolor; } fd { @@ -347,7 +347,7 @@ id { } jd { - box-shadow: 0 0.25pt 1em currentColor; + box-shadow: 0 0.25pt 1em currentcolor; } kd { @@ -371,11 +371,11 @@ od { } pd { - box-shadow: 3px 3px 1em 0.25pt currentColor; + box-shadow: 3px 3px 1em 0.25pt currentcolor; } qd { - box-shadow: 3px 0 currentColor inset; + box-shadow: 3px 0 currentcolor inset; } rd { @@ -387,11 +387,11 @@ sd { } td { - box-shadow: 3px 3px currentColor inset; + box-shadow: 3px 3px currentcolor inset; } ud { - box-shadow: -1em -1em currentColor; + box-shadow: -1em -1em currentcolor; } vd { diff --git a/testsuite/css/parser/text-decoration-color.ref.css b/testsuite/css/parser/text-decoration-color.ref.css index ef55acfcd7..e6191461c7 100644 --- a/testsuite/css/parser/text-decoration-color.ref.css +++ b/testsuite/css/parser/text-decoration-color.ref.css @@ -11,7 +11,7 @@ c { } d { - text-decoration-color: currentColor; + text-decoration-color: currentcolor; } e { diff --git a/testsuite/css/parser/text-shadow.ref.css b/testsuite/css/parser/text-shadow.ref.css index cefec6cd19..eed1c3ef14 100644 --- a/testsuite/css/parser/text-shadow.ref.css +++ b/testsuite/css/parser/text-shadow.ref.css @@ -15,7 +15,7 @@ d { } e { - text-shadow: 0 5em currentColor; + text-shadow: 0 5em currentcolor; } f {