summaryrefslogtreecommitdiff
path: root/src/parse/properties/background.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2022-08-13 16:23:56 +0100
committerMichael Drake <mdrake.unique@gmail.com>2022-08-29 13:49:20 +0100
commit2504bb6f6414ae36c036a84d21f7821178dc58ee (patch)
tree8c6573ae9fe6ebd8af7ff8eead85c387557a5c3b /src/parse/properties/background.c
parent0997e85ec5f14bd0d6959b9201fcd3845b224747 (diff)
downloadlibcss-2504bb6f6414ae36c036a84d21f7821178dc58ee.tar.gz
libcss-2504bb6f6414ae36c036a84d21f7821178dc58ee.tar.bz2
Parse: Nongenerated properties: Explicit defaults
Diffstat (limited to 'src/parse/properties/background.c')
-rw-r--r--src/parse/properties/background.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/parse/properties/background.c b/src/parse/properties/background.c
index 01b995e..e11fcc9 100644
--- a/src/parse/properties/background.c
+++ b/src/parse/properties/background.c
@@ -45,31 +45,38 @@ css_error css__parse_background(css_language *c,
css_style * image_style;
css_style * position_style;
css_style * repeat_style;
-
+ enum flag_value flag_value;
/* Firstly, handle inherit */
token = parserutils_vector_peek(vector, *ctx);
if (token == NULL)
return CSS_INVALID;
- if (is_css_inherit(c, token)) {
- error = css_stylesheet_style_inherit(result, CSS_PROP_BACKGROUND_ATTACHMENT);
+ flag_value = get_css_flag_value(c, token);
+
+ if (flag_value != FLAG_VALUE__NONE) {
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_BACKGROUND_ATTACHMENT);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_BACKGROUND_COLOR);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_BACKGROUND_COLOR);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_BACKGROUND_IMAGE);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_BACKGROUND_IMAGE);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_BACKGROUND_POSITION);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_BACKGROUND_POSITION);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_BACKGROUND_REPEAT);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_BACKGROUND_REPEAT);
if (error == CSS_OK)
parserutils_vector_iterate(vector, ctx);