summaryrefslogtreecommitdiff
path: root/src/parse/properties/play_during.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/properties/play_during.c')
-rw-r--r--src/parse/properties/play_during.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/parse/properties/play_during.c b/src/parse/properties/play_during.c
index 109ae64..da7f236 100644
--- a/src/parse/properties/play_during.c
+++ b/src/parse/properties/play_during.c
@@ -28,10 +28,10 @@
* If the input is invalid, then \a *ctx remains unchanged.
*/
css_error css__parse_play_during(css_language *c,
- const parserutils_vector *vector, int *ctx,
+ const parserutils_vector *vector, int32_t *ctx,
css_style *result)
{
- int orig_ctx = *ctx;
+ int32_t orig_ctx = *ctx;
css_error error;
const css_token *token;
uint8_t flags = 0;
@@ -54,14 +54,32 @@ css_error css__parse_play_during(css_language *c,
token->idata, c->strings[INHERIT],
&match) == lwc_error_ok && match)) {
flags |= FLAG_INHERIT;
+
+ } else if ((lwc_string_caseless_isequal(
+ token->idata, c->strings[INITIAL],
+ &match) == lwc_error_ok && match)) {
+ flags |= FLAG_INITIAL;
+
+ } else if ((lwc_string_caseless_isequal(
+ token->idata, c->strings[REVERT],
+ &match) == lwc_error_ok && match)) {
+ flags |= FLAG_REVERT;
+
+ } else if ((lwc_string_caseless_isequal(
+ token->idata, c->strings[UNSET],
+ &match) == lwc_error_ok && match)) {
+ flags |= FLAG_UNSET;
+
} else if ((lwc_string_caseless_isequal(
token->idata, c->strings[NONE],
&match) == lwc_error_ok && match)) {
value = PLAY_DURING_NONE;
+
} else if ((lwc_string_caseless_isequal(
token->idata, c->strings[AUTO],
&match) == lwc_error_ok && match)) {
value = PLAY_DURING_AUTO;
+
} else {
*ctx = orig_ctx;
return CSS_INVALID;