diff options
Diffstat (limited to 'src/select/select.c')
-rw-r--r-- | src/select/select.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/select/select.c b/src/select/select.c index a27a0cf..7b83f90 100644 --- a/src/select/select.c +++ b/src/select/select.c @@ -240,6 +240,7 @@ css_error css_select_ctx_get_sheet(css_select_ctx *ctx, uint32_t index, * \param node Node to select style for * \param pseudo_element Pseudo element to select for, instead * \param media Currently active media types + * \param hint Presentational hints, or NULL for none * \param result Pointer to style to populate (assumed clean) * \param handler Dispatch table of handler functions * \param pw Client-specific private data for handler functions @@ -256,7 +257,7 @@ css_error css_select_ctx_get_sheet(css_select_ctx *ctx, uint32_t index, */ css_error css_select_style(css_select_ctx *ctx, void *node, uint32_t pseudo_element, uint64_t media, - css_computed_style *result, + const css_hint *hints, css_computed_style *result, css_select_handler *handler, void *pw) { uint32_t i; @@ -287,6 +288,17 @@ css_error css_select_style(css_select_ctx *ctx, void *node, } } + /** \todo take account of presentational hints: + * + * foreach property in hints: + * if !state.property.set || (state.property.origin == UA || + * (state.property.origin == USER && + * !state.property.important)): + * result.property = property + * state.property.set = true + */ + UNUSED(hints); + /* Finally, fix up any remaining unset properties. * Those properties which are inherited need to be set as inherit. * Those which are not inherited need to be set to their default value. |