summaryrefslogtreecommitdiff
path: root/src/select/properties/counter_reset.c
diff options
context:
space:
mode:
authorMichael Drake <Michael Drake tlsa@netsurf-browser.org>2019-05-12 16:17:12 +0100
committerMichael Drake <Michael Drake tlsa@netsurf-browser.org>2019-05-12 16:23:27 +0100
commit4989d72549b53f751d2999a771e0bc6737015810 (patch)
tree744c15bc5403563cc11be3ad1af94a2447b523f2 /src/select/properties/counter_reset.c
parentd09f33131b8079f3886e0827cf458e1fc2c7f2d6 (diff)
downloadlibcss-4989d72549b53f751d2999a771e0bc6737015810.tar.gz
libcss-4989d72549b53f751d2999a771e0bc6737015810.tar.bz2
Computed styles: Drop uncommon extension blocks.
They were a space saving feature, but they became largely redundant with computed style sharing. They also made the code complex and buggy in many places. E.g. the cascade, inheritance / composition, and intial values all needed to behave corretly when they, or their parent, had or didn't have an uncommon block. Also, only the uncommon block was really used. Fixes: https://bugs.netsurf-browser.org/mantis/view.php?id=2641
Diffstat (limited to 'src/select/properties/counter_reset.c')
-rw-r--r--src/select/properties/counter_reset.c48
1 files changed, 20 insertions, 28 deletions
diff --git a/src/select/properties/counter_reset.c b/src/select/properties/counter_reset.c
index 9d20609..e4ec8bf 100644
--- a/src/select/properties/counter_reset.c
+++ b/src/select/properties/counter_reset.c
@@ -52,41 +52,33 @@ css_error css__compose_counter_reset(const css_computed_style *parent,
css_computed_style *result)
{
css_error error;
+ css_computed_counter *copy = NULL;
const css_computed_counter *items = NULL;
uint8_t type = get_counter_reset(child, &items);
- if ((child->i.uncommon == NULL && parent->i.uncommon != NULL) ||
- type == CSS_COUNTER_RESET_INHERIT ||
- (child->i.uncommon != NULL && result != child)) {
- size_t n_items = 0;
- css_computed_counter *copy = NULL;
-
- if ((child->i.uncommon == NULL && parent->i.uncommon != NULL) ||
- type == CSS_COUNTER_RESET_INHERIT) {
- type = get_counter_reset(parent, &items);
- }
-
- if (type == CSS_COUNTER_RESET_NAMED && items != NULL) {
- const css_computed_counter *i;
-
- for (i = items; i->name != NULL; i++)
- n_items++;
+ if (type == CSS_COUNTER_RESET_INHERIT) {
+ type = get_counter_reset(parent, &items);
+ }
- copy = malloc((n_items + 1) *
- sizeof(css_computed_counter));
- if (copy == NULL)
- return CSS_NOMEM;
+ if (type == CSS_COUNTER_RESET_NAMED && items != NULL) {
+ size_t n_items = 0;
+ const css_computed_counter *i;
- memcpy(copy, items, (n_items + 1) *
- sizeof(css_computed_counter));
- }
+ for (i = items; i->name != NULL; i++)
+ n_items++;
- error = set_counter_reset(result, type, copy);
- if (error != CSS_OK && copy != NULL)
- free(copy);
+ copy = malloc((n_items + 1) *
+ sizeof(css_computed_counter));
+ if (copy == NULL)
+ return CSS_NOMEM;
- return error;
+ memcpy(copy, items, (n_items + 1) *
+ sizeof(css_computed_counter));
}
- return CSS_OK;
+ error = set_counter_reset(result, type, copy);
+ if (error != CSS_OK && copy != NULL)
+ free(copy);
+
+ return error;
}