aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/script/dom/document.rs2
-rw-r--r--src/components/script/dom/event.rs15
-rw-r--r--src/components/script/dom/xmlhttprequest.rs6
-rw-r--r--src/components/script/script_task.rs12
4 files changed, 22 insertions, 13 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs
index f6f67f93747..06c6099aa6b 100644
--- a/src/components/script/dom/document.rs
+++ b/src/components/script/dom/document.rs
@@ -546,7 +546,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
"uievents" | "uievent" => Ok(EventCast::from_temporary(UIEvent::new_uninitialized(&*window))),
"mouseevents" | "mouseevent" => Ok(EventCast::from_temporary(MouseEvent::new_uninitialized(&*window))),
"customevent" => Ok(EventCast::from_temporary(CustomEvent::new_uninitialized(&*window))),
- "htmlevents" | "events" | "event" => Ok(Event::new(&*window)),
+ "htmlevents" | "events" | "event" => Ok(Event::new_uninitialized(&*window)),
_ => Err(NotSupported)
}
}
diff --git a/src/components/script/dom/event.rs b/src/components/script/dom/event.rs
index 8da845845a1..2ac357f7e16 100644
--- a/src/components/script/dom/event.rs
+++ b/src/components/script/dom/event.rs
@@ -83,18 +83,25 @@ impl Event {
}
}
- pub fn new(window: &JSRef<Window>) -> Temporary<Event> {
+ pub fn new_uninitialized(window: &JSRef<Window>) -> Temporary<Event> {
reflect_dom_object(box Event::new_inherited(HTMLEventTypeId),
window,
EventBinding::Wrap)
}
+ pub fn new(window: &JSRef<Window>,
+ type_: DOMString,
+ can_bubble: bool,
+ cancelable: bool) -> Temporary<Event> {
+ let mut event = Event::new_uninitialized(window).root();
+ event.InitEvent(type_, can_bubble, cancelable);
+ Temporary::from_rooted(&*event)
+ }
+
pub fn Constructor(global: &JSRef<Window>,
type_: DOMString,
init: &EventBinding::EventInit) -> Fallible<Temporary<Event>> {
- let mut ev = Event::new(global).root();
- ev.InitEvent(type_, init.bubbles, init.cancelable);
- Ok(Temporary::from_rooted(&*ev))
+ Ok(Event::new(global, type_, init.bubbles, init.cancelable))
}
}
diff --git a/src/components/script/dom/xmlhttprequest.rs b/src/components/script/dom/xmlhttprequest.rs
index 3630b912d70..9cbf478e5d9 100644
--- a/src/components/script/dom/xmlhttprequest.rs
+++ b/src/components/script/dom/xmlhttprequest.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::BindingDeclarations::XMLHttpRequestBinding::XMLHttpR
use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, XMLHttpRequestDerived};
use dom::bindings::error::{ErrorResult, InvalidState, Network, Syntax, Security};
use dom::document::Document;
-use dom::event::{Event, EventMethods};
+use dom::event::Event;
use dom::eventtarget::{EventTarget, EventTargetHelpers, XMLHttpRequestTargetTypeId};
use dom::bindings::conversions::ToJSValConvertible;
use dom::bindings::error::Fallible;
@@ -564,8 +564,8 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
fn change_ready_state(&mut self, rs: XMLHttpRequestState) {
self.ready_state = rs;
let win = &*self.global.root();
- let mut event = Event::new(win).root();
- event.InitEvent("readystatechange".to_owned(), false, true);
+ let mut event =
+ Event::new(win, "readystatechange".to_owned(), false, true).root();
let target: &JSRef<EventTarget> = EventTargetCast::from_ref(self);
target.dispatch_event_with_target(None, &mut *event).ok();
}
diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs
index ce268d35ff9..ac05680b122 100644
--- a/src/components/script/script_task.rs
+++ b/src/components/script/script_task.rs
@@ -15,7 +15,7 @@ use dom::bindings::utils::{wrap_for_same_compartment, pre_wrap};
use dom::document::{Document, HTMLDocument, DocumentMethods, DocumentHelpers};
use dom::element::{Element, AttributeHandlers};
use dom::event::{Event_, ResizeEvent, ReflowEvent, ClickEvent, MouseDownEvent, MouseMoveEvent, MouseUpEvent};
-use dom::event::{Event, EventMethods};
+use dom::event::Event;
use dom::uievent::UIEvent;
use dom::eventtarget::{EventTarget, EventTargetHelpers};
use dom::node;
@@ -1036,8 +1036,8 @@ impl ScriptTask {
// We have no concept of a document loader right now, so just dispatch the
// "load" event as soon as we've finished executing all scripts parsed during
// the initial load.
- let mut event = Event::new(&*window).root();
- event.InitEvent("load".to_owned(), false, false);
+ let mut event =
+ Event::new(&*window, "load".to_owned(), false, false).root();
let doctarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&*document);
let wintarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&*window);
let _ = wintarget.dispatch_event_with_target(Some((*doctarget).clone()),
@@ -1133,8 +1133,10 @@ impl ScriptTask {
match *page.frame() {
Some(ref frame) => {
let window = frame.window.root();
- let mut event = Event::new(&*window).root();
- event.InitEvent("click".to_owned(), true, true);
+ let mut event =
+ Event::new(&*window,
+ "click".to_owned(),
+ true, true).root();
let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&node);
let _ = eventtarget.dispatch_event_with_target(None, &mut *event);
}