From ec53465c830b136ff4012c5958b57faee1956c37 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Mon, 19 Jan 2009 11:06:52 +0000 Subject: Purge stylesheet dumping code from the library. Create a common header for the test harnesses to use, instead. Fix z-index dumping while we're at it. svn path=/trunk/libcss/; revision=6146 --- src/stylesheet.c | 234 ------------------------------------------------------- 1 file changed, 234 deletions(-) (limited to 'src/stylesheet.c') diff --git a/src/stylesheet.c b/src/stylesheet.c index 1c5cb3c..ca53170 100644 --- a/src/stylesheet.c +++ b/src/stylesheet.c @@ -783,237 +783,3 @@ css_error css_stylesheet_remove_rule(css_stylesheet *sheet, css_rule *rule) return CSS_OK; } -#ifndef NDEBUG -static void css_stylesheet_dump_rule(css_rule *rule, FILE *target, - size_t *size); -static void css_stylesheet_dump_selector_list(css_selector *list, FILE *target, - size_t *size); -static void css_stylesheet_dump_selector(css_selector *selector, FILE *target, - size_t *size); -static void css_stylesheet_dump_selector_detail(css_selector_detail *detail, - FILE *target, size_t *size); -static void css_stylesheet_dump_string(const parserutils_hash_entry *string, - FILE *target); - -/** - * Dump a stylesheet - * - * \param sheet The stylesheet to dump - * \param target The file handle to output to - */ -void css_stylesheet_dump(css_stylesheet *sheet, FILE *target) -{ - css_rule *r; - size_t size = sizeof(css_stylesheet); - - if (sheet == NULL || target == NULL) - return; - - fprintf(target, "%s (%s) %sabled origin: %d media: %d\n", - sheet->url, sheet->title ? sheet->title : "", - sheet->disabled ? "dis" : "en", sheet->origin, - sheet->media); - - fprintf(target, "Rules:\n"); - - for (r = sheet->rule_list; r != NULL; r = r->next) - css_stylesheet_dump_rule(r, target, &size); - - fprintf(target, "Total size: %zu bytes\n", size); -} - -/** - * Dump a CSS rule - * - * \param rule The rule to dump - * \param target The file handle to output to - * \param size Pointer to current size of sheet, updated on exit - */ -void css_stylesheet_dump_rule(css_rule *rule, FILE *target, size_t *size) -{ - fprintf(target, " Rule %d (type %d):\n", - rule->index, rule->type); - - fprintf(target, " "); - - switch (rule->type) { - case CSS_RULE_UNKNOWN: - *size += sizeof(css_rule); - break; - case CSS_RULE_SELECTOR: - *size += sizeof(css_rule_selector); - for (uint32_t i = 0; i < rule->items; i++) { - css_stylesheet_dump_selector_list( - ((css_rule_selector *) rule)->selectors[i], - target, size); - if (i != (uint32_t) (rule->items - 1)) - fprintf(target, ", "); - } - fprintf(target, " { "); - if (((css_rule_selector *) rule)->style != NULL) { - *size += ((css_rule_selector *) rule)->style->length; - - css_bytecode_dump( - ((css_rule_selector *) rule)->style->bytecode, - ((css_rule_selector *) rule)->style->length, - target); - } - fprintf(target, "}"); - break; - case CSS_RULE_CHARSET: - *size += sizeof(css_rule_charset); - break; - case CSS_RULE_IMPORT: - *size += sizeof(css_rule_import); - break; - case CSS_RULE_MEDIA: - *size += sizeof(css_rule_media); - break; - case CSS_RULE_FONT_FACE: - *size += sizeof(css_rule_font_face); - break; - case CSS_RULE_PAGE: - *size += sizeof(css_rule_page); - break; - } - - fprintf(target, "\n"); -} - -/** - * Dump a CSS selector list - * - * \param list The selector list to dump - * \param target The file handle to output to - * \param size Pointer to current size of sheet, updated on exit - */ -void css_stylesheet_dump_selector_list(css_selector *list, FILE *target, - size_t *size) -{ - if (list->combinator != NULL) { - css_stylesheet_dump_selector_list(list->combinator, target, - size); - } - - switch (list->data.comb) { - case CSS_COMBINATOR_NONE: - break; - case CSS_COMBINATOR_ANCESTOR: - fprintf(target, " "); - break; - case CSS_COMBINATOR_PARENT: - fprintf(target, " > "); - break; - case CSS_COMBINATOR_SIBLING: - fprintf(target, " + "); - break; - } - - css_stylesheet_dump_selector(list, target, size); -} - -/** - * Dump a CSS selector - * - * \param selector The selector to dump - * \param target The file handle to output to - * \param size Pointer to current size of sheet, updated on exit - */ -void css_stylesheet_dump_selector(css_selector *selector, FILE *target, - size_t *size) -{ - css_selector_detail *d = &selector->data; - - *size += sizeof(css_selector) - sizeof(css_selector_detail); - - while (true) { - css_stylesheet_dump_selector_detail(d, target, size); - - if (d->next == 0) - break; - - d++; - } -} - -/** - * Dump a CSS selector detail - * - * \param detail The detail to dump - * \param target The file handle to output to - * \param size Pointer to current size of sheet, updated on exit - */ -void css_stylesheet_dump_selector_detail(css_selector_detail *detail, - FILE *target, size_t *size) -{ - *size += sizeof(css_selector_detail); - - switch (detail->type) { - case CSS_SELECTOR_ELEMENT: - if (detail->name->len == 1 && detail->name->data[0] == '*' && - detail->next == 0) { - css_stylesheet_dump_string(detail->name, target); - } else if (detail->name->len != 1 || - detail->name->data[0] != '*') { - css_stylesheet_dump_string(detail->name, target); - } - break; - case CSS_SELECTOR_CLASS: - fprintf(target, "."); - css_stylesheet_dump_string(detail->name, target); - break; - case CSS_SELECTOR_ID: - fprintf(target, "#"); - css_stylesheet_dump_string(detail->name, target); - break; - case CSS_SELECTOR_PSEUDO: - fprintf(target, ":"); - css_stylesheet_dump_string(detail->name, target); - if (detail->value != NULL) { - fprintf(target, "("); - css_stylesheet_dump_string(detail->value, target); - fprintf(target, ")"); - } - break; - case CSS_SELECTOR_ATTRIBUTE: - fprintf(target, "["); - css_stylesheet_dump_string(detail->name, target); - fprintf(target, "]"); - break; - case CSS_SELECTOR_ATTRIBUTE_EQUAL: - fprintf(target, "["); - css_stylesheet_dump_string(detail->name, target); - fprintf(target, "=\""); - css_stylesheet_dump_string(detail->value, target); - fprintf(target, "\"]"); - break; - case CSS_SELECTOR_ATTRIBUTE_DASHMATCH: - fprintf(target, "["); - css_stylesheet_dump_string(detail->name, target); - fprintf(target, "|=\""); - css_stylesheet_dump_string(detail->value, target); - fprintf(target, "\"]"); - break; - case CSS_SELECTOR_ATTRIBUTE_INCLUDES: - fprintf(target, "["); - css_stylesheet_dump_string(detail->name, target); - fprintf(target, "~=\""); - css_stylesheet_dump_string(detail->value, target); - fprintf(target, "\"]"); - break; - } -} - -/** - * Dump a CSS string - * - * \param string The string to dump - * \param target The file handle to output to - */ -void css_stylesheet_dump_string(const parserutils_hash_entry *string, - FILE *target) -{ - fprintf(target, "%.*s", (int) string->len, string->data); -} -#endif - -- cgit v1.2.3