@@ -425,6 +425,8 @@ bool modest_finder_selector_sub_type_pseudo_class_undef(modest_finder_t* finder,
425425
426426bool 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
669683bool 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
679695bool 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