@@ -108,6 +108,15 @@ impl<'a, 'o, 'i> parcel_selectors::parser::Parser<'i> for SelectorParser<'a, 'o,
108108 "-moz-full-screen" => Fullscreen ( VendorPrefix :: Moz ) ,
109109 "-ms-fullscreen" => Fullscreen ( VendorPrefix :: Ms ) ,
110110
111+ // https://drafts.csswg.org/selectors/#display-state-pseudos
112+ "open" => Open ,
113+ "closed" => Closed ,
114+ "modal" => Modal ,
115+ "picture-in-picture" => PictureInPicture ,
116+
117+ // https://html.spec.whatwg.org/multipage/semantics-other.html#selector-popover-open
118+ "popover-open" => PopoverOpen ,
119+
111120 // https://drafts.csswg.org/selectors-4/#the-defined-pseudo
112121 "defined" => Defined ,
113122
@@ -399,6 +408,20 @@ pub enum PseudoClass<'i> {
399408 #[ cfg_attr( feature = "serde" , serde( with = "PrefixWrapper" ) ) ]
400409 Fullscreen ( VendorPrefix ) ,
401410
411+ // https://drafts.csswg.org/selectors/#display-state-pseudos
412+ /// The [:open](https://drafts.csswg.org/selectors/#selectordef-open) pseudo class.
413+ Open ,
414+ /// The [:closed](https://drafts.csswg.org/selectors/#selectordef-closed) pseudo class.
415+ Closed ,
416+ /// The [:modal](https://drafts.csswg.org/selectors/#modal-state) pseudo class.
417+ Modal ,
418+ /// The [:picture-in-picture](https://drafts.csswg.org/selectors/#pip-state) pseudo class.
419+ PictureInPicture ,
420+
421+ // https://html.spec.whatwg.org/multipage/semantics-other.html#selector-popover-open
422+ /// The [:popover-open](https://html.spec.whatwg.org/multipage/semantics-other.html#selector-popover-open) pseudo class.
423+ PopoverOpen ,
424+
402425 /// The [:defined](https://drafts.csswg.org/selectors-4/#the-defined-pseudo) pseudo class.
403426 Defined ,
404427
@@ -670,6 +693,15 @@ where
670693 }
671694 }
672695
696+ // https://drafts.csswg.org/selectors/#display-state-pseudos
697+ Open => dest. write_str ( ":open" ) ,
698+ Closed => dest. write_str ( ":closed" ) ,
699+ Modal => dest. write_str ( ":modal" ) ,
700+ PictureInPicture => dest. write_str ( ":picture-in-picture" ) ,
701+
702+ // https://html.spec.whatwg.org/multipage/semantics-other.html#selector-popover-open
703+ PopoverOpen => dest. write_str ( ":popover-open" ) ,
704+
673705 // https://drafts.csswg.org/selectors-4/#the-defined-pseudo
674706 Defined => dest. write_str ( ":defined" ) ,
675707
0 commit comments