summaryrefslogtreecommitdiff
path: root/src/stylesheet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stylesheet.c')
-rw-r--r--src/stylesheet.c106
1 files changed, 0 insertions, 106 deletions
diff --git a/src/stylesheet.c b/src/stylesheet.c
index 7c1fb83..26ba0f3 100644
--- a/src/stylesheet.c
+++ b/src/stylesheet.c
@@ -113,112 +113,6 @@ css_error css__stylesheet_string_get(css_stylesheet *sheet,
return CSS_OK;
}
-typedef struct css_mq_parse_ctx {
- lwc_string **strings;
- css_mq_query *media;
-} css_mq_parse_ctx;
-
-static css_error css_parse_media_query_handle_event(
- css_parser_event type,
- const parserutils_vector *tokens,
- void *pw)
-{
- int idx = 0;
- css_error err;
- css_mq_query *media;
- const css_token *tok;
- css_mq_parse_ctx *ctx = pw;
- lwc_string **strings = ctx->strings;
-
- UNUSED(type);
-
- /* Skip @media */
- tok = parserutils_vector_iterate(tokens, &idx);
- assert(tok->type == CSS_TOKEN_ATKEYWORD);
- UNUSED(tok);
-
- /* Skip whitespace */
- tok = parserutils_vector_iterate(tokens, &idx);
- assert(tok->type == CSS_TOKEN_S);
- UNUSED(tok);
-
- err = css__mq_parse_media_list(strings, tokens, &idx, &media);
- if (err != CSS_OK) {
- return CSS_OK;
- }
-
- ctx->media = media;
- return CSS_OK;
-}
-
-static css_error css_parse_media_query(
- lwc_string **strings,
- const uint8_t *mq,
- size_t len,
- css_mq_query **media_out)
-{
- css_error err;
- css_parser *parser;
- css_mq_parse_ctx ctx = {
- .strings = strings,
- };
- css_parser_optparams params_quirks = {
- .quirks = false,
- };
- css_parser_optparams params_handler = {
- .event_handler = {
- .handler = css_parse_media_query_handle_event,
- .pw = &ctx,
- },
- };
-
- err = css__parser_create_for_media_query(NULL,
- CSS_CHARSET_DEFAULT, &parser);
- if (err != CSS_OK) {
- return err;
- }
-
- err = css__parser_setopt(parser, CSS_PARSER_QUIRKS,
- &params_quirks);
- if (err != CSS_OK) {
- css__parser_destroy(parser);
- return err;
- }
-
- err = css__parser_setopt(parser, CSS_PARSER_EVENT_HANDLER,
- &params_handler);
- if (err != CSS_OK) {
- css__parser_destroy(parser);
- return err;
- }
-
- err = css__parser_parse_chunk(parser,
- (const uint8_t *)"@media ",
- strlen("@media "));
- if (err != CSS_OK && err != CSS_NEEDDATA) {
- css__parser_destroy(parser);
- return err;
- }
-
- err = css__parser_parse_chunk(parser, mq, len);
- if (err != CSS_OK && err != CSS_NEEDDATA) {
- css__parser_destroy(parser);
- return err;
- }
-
- err = css__parser_completed(parser);
- if (err != CSS_OK) {
- css__parser_destroy(parser);
- return err;
- }
-
- css__parser_destroy(parser);
-
- *media_out = ctx.media;
- return CSS_OK;
-}
-
-
/**
* Create a stylesheet
*