From 91f37b63651628de0827af73a4412f36184d2748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=96=D1=83=D0=BC?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=BD?= Date: Sat, 26 May 2018 15:32:52 +0300 Subject: [PATCH 1/3] fix specificity for .class --- source/mycss/selectors/parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/mycss/selectors/parser.c b/source/mycss/selectors/parser.c index 688f458..fd444f5 100644 --- a/source/mycss/selectors/parser.c +++ b/source/mycss/selectors/parser.c @@ -108,7 +108,7 @@ void mycss_selectors_parser_selector_class(mycss_entry_t* entry, mycss_token_t* selector->key = str; if(entry->selectors->specificity) - entry->selectors->specificity->a++; + entry->selectors->specificity->b++; mycss_selectors_parser_selector_end(entry, token); } From 92c465f81a808d25145e81d8ed33f313a5af809c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=96=D1=83=D0=BC?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=BD?= Date: Sat, 26 May 2018 15:42:51 +0300 Subject: [PATCH 2/3] fix specificity for pseudo elements Fix specificity for pseudo-elements with one semi-colon, for example :after --- source/mycss/selectors/parser.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/mycss/selectors/parser.c b/source/mycss/selectors/parser.c index fd444f5..7e5182c 100644 --- a/source/mycss/selectors/parser.c +++ b/source/mycss/selectors/parser.c @@ -248,8 +248,13 @@ void mycss_selectors_parser_selector_pseudo_class(mycss_entry_t* entry, mycss_to } } - if(entry->selectors->specificity) - entry->selectors->specificity->b++; + if (selector->type == MyCSS_SELECTORS_TYPE_PSEUDO_ELEMENT) { + if(entry->selectors->specificity) + entry->selectors->specificity->c++; + } else { + if(entry->selectors->specificity) + entry->selectors->specificity->b++; + } mycss_selectors_parser_check_and_set_bad_parent_selector(entry, entry->selectors->list_last); mycss_selectors_parser_selector_end(entry, token); From b5c2eba12d586e59d495a6cf472843d6ef612e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=96=D1=83=D0=BC?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=BD?= Date: Sat, 26 May 2018 15:43:25 +0300 Subject: [PATCH 3/3] fix extra space --- source/mycss/selectors/parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/mycss/selectors/parser.c b/source/mycss/selectors/parser.c index 7e5182c..ce8d181 100644 --- a/source/mycss/selectors/parser.c +++ b/source/mycss/selectors/parser.c @@ -248,7 +248,7 @@ void mycss_selectors_parser_selector_pseudo_class(mycss_entry_t* entry, mycss_to } } - if (selector->type == MyCSS_SELECTORS_TYPE_PSEUDO_ELEMENT) { + if(selector->type == MyCSS_SELECTORS_TYPE_PSEUDO_ELEMENT) { if(entry->selectors->specificity) entry->selectors->specificity->c++; } else {