aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/eventdispatcher.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-08-24 13:45:34 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-08-24 13:54:44 +0200
commit540fe15f17bccb87282ffbca90ebcae1e72e1f73 (patch)
tree9bfc7a04e488b74c8a5b50395ec6670c000d5671 /components/script/dom/eventdispatcher.rs
parent9d320881160f2d64d9e5b79e8c17336037dfbede (diff)
downloadservo-540fe15f17bccb87282ffbca90ebcae1e72e1f73.tar.gz
servo-540fe15f17bccb87282ffbca90ebcae1e72e1f73.zip
Fix step 10 of eventdispatcher::dispatch_event (fixes #11609)
We consolidate steps 10-12 in a single function to expose less general-purpose mutating methods on Event.
Diffstat (limited to 'components/script/dom/eventdispatcher.rs')
-rw-r--r--components/script/dom/eventdispatcher.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/components/script/dom/eventdispatcher.rs b/components/script/dom/eventdispatcher.rs
index 7509df2ef13..01973e7c916 100644
--- a/components/script/dom/eventdispatcher.rs
+++ b/components/script/dom/eventdispatcher.rs
@@ -123,7 +123,7 @@ pub fn dispatch_event(target: &EventTarget,
}
// Step 1. Postponed here for the reason stated above.
- event.set_dispatching(true);
+ event.mark_as_dispatching();
// Step 3. The "invoke" algorithm is only used on `target` separately,
// so we don't put it in the path.
@@ -158,14 +158,8 @@ pub fn dispatch_event(target: &EventTarget,
None => {}
}
- // Step 10.
- event.set_dispatching(false);
-
- // Step 11.
- event.set_phase(EventPhase::None);
-
- // Step 12.
- event.clear_current_target();
+ // Step 10-12.
+ event.clear_dispatching_flags();
// Step 13.
!event.DefaultPrevented()