aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2024-08-24 01:43:54 -0700
committerGitHub <noreply@github.com>2024-08-24 08:43:54 +0000
commit7582afebeca965f8d12a6594284969ee55f6742f (patch)
treec644387dfa317797c060b4d0efe9989f07ea4394 /components/script/dom/element.rs
parentad45fa0a196a5d8f9655c41afc6b5b42570f5340 (diff)
downloadservo-7582afebeca965f8d12a6594284969ee55f6742f.tar.gz
servo-7582afebeca965f8d12a6594284969ee55f6742f.zip
script: Update list of non-TS pseudo classes supported by Servo (#33165)
Also remove some code duplication by moving some of the code into the `Element` impl. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs32
1 files changed, 23 insertions, 9 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index c3c1d4edf08..32a4b5c16ac 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -3695,22 +3695,36 @@ impl SelectorsElement for DomRoot<Element> {
// storing separate <ident> or <string>s for each language tag.
NonTSPseudoClass::Lang(ref lang) => extended_filtering(&self.get_lang(), lang),
- NonTSPseudoClass::ReadOnly => !Element::state(self).contains(pseudo_class.state_flag()),
+ NonTSPseudoClass::ReadOnly => {
+ !Element::state(self).contains(NonTSPseudoClass::ReadWrite.state_flag())
+ },
NonTSPseudoClass::Active |
+ NonTSPseudoClass::Autofill |
+ NonTSPseudoClass::Checked |
+ NonTSPseudoClass::Default |
+ NonTSPseudoClass::Defined |
+ NonTSPseudoClass::Disabled |
+ NonTSPseudoClass::Enabled |
NonTSPseudoClass::Focus |
+ NonTSPseudoClass::FocusVisible |
+ NonTSPseudoClass::FocusWithin |
NonTSPseudoClass::Fullscreen |
NonTSPseudoClass::Hover |
- NonTSPseudoClass::Defined |
- NonTSPseudoClass::Enabled |
- NonTSPseudoClass::Disabled |
- NonTSPseudoClass::Checked |
- NonTSPseudoClass::Valid |
- NonTSPseudoClass::Invalid |
+ NonTSPseudoClass::InRange |
NonTSPseudoClass::Indeterminate |
- NonTSPseudoClass::ReadWrite |
+ NonTSPseudoClass::Invalid |
+ NonTSPseudoClass::Modal |
+ NonTSPseudoClass::Optional |
+ NonTSPseudoClass::OutOfRange |
NonTSPseudoClass::PlaceholderShown |
- NonTSPseudoClass::Target => Element::state(self).contains(pseudo_class.state_flag()),
+ NonTSPseudoClass::PopoverOpen |
+ NonTSPseudoClass::ReadWrite |
+ NonTSPseudoClass::Required |
+ NonTSPseudoClass::Target |
+ NonTSPseudoClass::UserInvalid |
+ NonTSPseudoClass::UserValid |
+ NonTSPseudoClass::Valid => Element::state(self).contains(pseudo_class.state_flag()),
}
}