Skip to content

Commit a7cfe1f

Browse files
authored
Merge pull request #71 from Kalmend/okalmend/custom-element-bug
Finder: Expand pseudo_class support
2 parents 0d6e102 + 9f6ba5d commit a7cfe1f

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

source/modest/finder/pseudo_class.c

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,8 @@ bool modest_finder_selector_sub_type_pseudo_class_undef(modest_finder_t* finder,
425425

426426
bool modest_finder_selector_sub_type_pseudo_class_active(modest_finder_t* finder, myhtml_tree_node_t* base_node, mycss_selectors_entry_t* selector, mycss_selectors_specificity_t* spec)
427427
{
428+
if (base_node->token)
429+
return modest_finder_match_attribute_only_key(base_node->token->attr_first, "focus", 5);
428430
return false;
429431
}
430432

@@ -506,10 +508,14 @@ bool modest_finder_selector_sub_type_pseudo_class_checked(modest_finder_t* finde
506508
attr = attr->next;
507509
}
508510
}
509-
else if(base_node->tag_id == MyHTML_TAG_OPTION) {
511+
else if(base_node->tag_id == MyHTML_TAG_OPTION)
512+
{
510513
return modest_finder_match_attribute_only_key(base_node->token->attr_first, "selected", 8);
511514
}
512-
515+
else if(base_node->token && base_node->tag_id >= MyHTML_TAG_LAST_ENTRY)
516+
{
517+
return modest_finder_match_attribute_only_key(base_node->token->attr_first, "checked", 8);
518+
}
513519
return false;
514520
}
515521

@@ -600,6 +606,14 @@ bool modest_finder_selector_sub_type_pseudo_class_disabled(modest_finder_t* find
600606

601607
return false;
602608
}
609+
610+
/* custom HTML tag*/
611+
if(base_node->token && base_node->tag_id >= MyHTML_TAG_LAST_ENTRY)
612+
{
613+
if (modest_finder_match_attribute_only_key(base_node->token->attr_first, "disabled", 8))
614+
return true;
615+
return false;
616+
}
603617

604618
return false;
605619
}
@@ -668,6 +682,8 @@ bool modest_finder_selector_sub_type_pseudo_class_first_of_type(modest_finder_t*
668682

669683
bool modest_finder_selector_sub_type_pseudo_class_focus(modest_finder_t* finder, myhtml_tree_node_t* base_node, mycss_selectors_entry_t* selector, mycss_selectors_specificity_t* spec)
670684
{
685+
if (base_node->token)
686+
return modest_finder_match_attribute_only_key(base_node->token->attr_first, "focus", 5);
671687
return false;
672688
}
673689

@@ -678,6 +694,8 @@ bool modest_finder_selector_sub_type_pseudo_class_future(modest_finder_t* finder
678694

679695
bool modest_finder_selector_sub_type_pseudo_class_hover(modest_finder_t* finder, myhtml_tree_node_t* base_node, mycss_selectors_entry_t* selector, mycss_selectors_specificity_t* spec)
680696
{
697+
if (base_node->token)
698+
return modest_finder_match_attribute_only_key(base_node->token->attr_first, "hover", 5);
681699
return false;
682700
}
683701

0 commit comments

Comments
 (0)