aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index fc4160f1843..0432be3987c 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -2222,7 +2222,8 @@ impl<'a> ::selectors::Element for Root<Element> {
NonTSPseudoClass::Disabled |
NonTSPseudoClass::Checked |
NonTSPseudoClass::Indeterminate |
- NonTSPseudoClass::ReadWrite =>
+ NonTSPseudoClass::ReadWrite |
+ NonTSPseudoClass::PlaceholderShown =>
Element::state(self).contains(pseudo_class.state_flag()),
}
}
@@ -2493,6 +2494,17 @@ impl Element {
pub fn set_read_write_state(&self, value: bool) {
self.set_state(IN_READ_WRITE_STATE, value)
}
+
+ pub fn placeholder_shown_state(&self) -> bool {
+ self.state.get().contains(IN_PLACEHOLDER_SHOWN_STATE)
+ }
+
+ pub fn set_placeholder_shown_state(&self, value: bool) {
+ if self.placeholder_shown_state() != value {
+ self.set_state(IN_PLACEHOLDER_SHOWN_STATE, value);
+ self.upcast::<Node>().dirty(NodeDamage::OtherNodeDamage);
+ }
+ }
}
impl Element {