aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/event.rs
diff options
context:
space:
mode:
authorGilles Leblanc <gilles.leblanc@gmail.com>2015-01-21 20:16:45 -0500
committerGilles Leblanc <gilles.leblanc@gmail.com>2015-02-03 21:40:07 -0500
commita1804effaf4f633e92572697135fb0afff6ee367 (patch)
treee04c3d099dfdaa641d0d9fb6004a98f62957e585 /components/script/dom/event.rs
parent902c16497c40684930819693a7e90f0862eb7f56 (diff)
downloadservo-a1804effaf4f633e92572697135fb0afff6ee367.tar.gz
servo-a1804effaf4f633e92572697135fb0afff6ee367.zip
Initialize trusted-ness of DOM events properly
Fixes #3740
Diffstat (limited to 'components/script/dom/event.rs')
-rw-r--r--components/script/dom/event.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index 0cb8dbb6a29..7c9d73675d1 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -9,7 +9,7 @@ use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutNullableJS, JSRef, Temporary};
use dom::bindings::utils::{Reflector, reflect_dom_object};
-use dom::eventtarget::EventTarget;
+use dom::eventtarget::{EventTarget, EventTargetHelpers};
use util::str::DOMString;
use std::borrow::ToOwned;
@@ -245,10 +245,17 @@ impl<'a> EventMethods for JSRef<'a, Event> {
pub trait EventHelpers {
fn set_trusted(self, trusted: bool);
+ fn fire(self, target: JSRef<EventTarget>);
}
impl<'a> EventHelpers for JSRef<'a, Event> {
fn set_trusted(self, trusted: bool) {
self.trusted.set(trusted);
}
+
+ // https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-simple-event
+ fn fire(self, target: JSRef<EventTarget>) {
+ self.set_trusted(true);
+ target.dispatch_event(self);
+ }
}