diff options
Diffstat (limited to 'src/parse/properties/play_during.c')
-rw-r--r-- | src/parse/properties/play_during.c | 22 |
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; |