added support for :read-only and :read-write pseudo-classes

partial fix for https://github.com/servo/servo/issues/10732
This commit is contained in:
Yoav Alon 2016-04-25 18:55:31 +03:00
parent f773dc182b
commit 9bf909ac2f
9 changed files with 82 additions and 31 deletions

View file

@ -2161,13 +2161,17 @@ impl<'a> ::selectors::Element for Root<Element> {
}
},
NonTSPseudoClass::ReadOnly =>
!Element::state(self).contains(pseudo_class.state_flag()),
NonTSPseudoClass::Active |
NonTSPseudoClass::Focus |
NonTSPseudoClass::Hover |
NonTSPseudoClass::Enabled |
NonTSPseudoClass::Disabled |
NonTSPseudoClass::Checked |
NonTSPseudoClass::Indeterminate =>
NonTSPseudoClass::Indeterminate |
NonTSPseudoClass::ReadWrite =>
Element::state(self).contains(pseudo_class.state_flag()),
}
}
@ -2430,6 +2434,14 @@ impl Element {
pub fn set_disabled_state(&self, value: bool) {
self.set_state(IN_DISABLED_STATE, value)
}
pub fn read_write_state(&self) -> bool {
self.state.get().contains(IN_READ_WRITE_STATE)
}
pub fn set_read_write_state(&self, value: bool) {
self.set_state(IN_READ_WRITE_STATE, value)
}
}
impl Element {