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.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 1be58932305..0bdca0714a7 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -1836,6 +1836,9 @@ impl Element {
fn set_state(&self, which: EventState, value: bool) {
let mut state = self.event_state.get();
+ if state.contains(which) == value {
+ return
+ }
match value {
true => state.insert(which),
false => state.remove(which),
@@ -1843,7 +1846,7 @@ impl Element {
self.event_state.set(state);
let node = self.upcast::<Node>();
- node.dirty(NodeDamage::NodeStyleDamaged);
+ node.owner_doc().record_event_state_change(self, which);
}
pub fn get_active_state(&self) -> bool {