aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/progressevent.rs
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2015-12-10 22:06:05 -0500
committerCorey Farwell <coreyf@rwell.org>2015-12-10 23:47:25 -0500
commit4accaf50b21a6344e9ee7518f7ab07c1dde7c36c (patch)
tree36d486ba0e57440a7a69e14829814e7ad5006712 /components/script/dom/progressevent.rs
parent996c0a60b81e7d7e0fbfea81a546771ea9327df6 (diff)
downloadservo-4accaf50b21a6344e9ee7518f7ab07c1dde7c36c.tar.gz
servo-4accaf50b21a6344e9ee7518f7ab07c1dde7c36c.zip
Pass around event types as Atoms instead of Strings
`Event` internally stores the `type` as an `Atom`, and we're `String`s everywhere, which can cause unnecessary allocations to occur since they'll end up as `Atom`s anyways.
Diffstat (limited to 'components/script/dom/progressevent.rs')
-rw-r--r--components/script/dom/progressevent.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/components/script/dom/progressevent.rs b/components/script/dom/progressevent.rs
index 9c31291a6b2..c80fbc7bd11 100644
--- a/components/script/dom/progressevent.rs
+++ b/components/script/dom/progressevent.rs
@@ -11,6 +11,7 @@ use dom::bindings::inheritance::Castable;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable};
+use string_cache::Atom;
use util::str::DOMString;
#[dom_struct]
@@ -30,7 +31,7 @@ impl ProgressEvent {
total: total
}
}
- pub fn new(global: GlobalRef, type_: DOMString,
+ pub fn new(global: GlobalRef, type_: Atom,
can_bubble: EventBubbles, cancelable: EventCancelable,
length_computable: bool, loaded: u64, total: u64) -> Root<ProgressEvent> {
let ev = reflect_dom_object(box ProgressEvent::new_inherited(length_computable, loaded, total),
@@ -38,7 +39,7 @@ impl ProgressEvent {
ProgressEventBinding::Wrap);
{
let event = ev.upcast::<Event>();
- event.InitEvent(type_, can_bubble == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable);
+ event.init_event(type_, can_bubble == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable);
}
ev
}
@@ -49,7 +50,7 @@ impl ProgressEvent {
let bubbles = if init.parent.bubbles { EventBubbles::Bubbles } else { EventBubbles::DoesNotBubble };
let cancelable = if init.parent.cancelable { EventCancelable::Cancelable }
else { EventCancelable::NotCancelable };
- let ev = ProgressEvent::new(global, type_, bubbles, cancelable,
+ let ev = ProgressEvent::new(global, Atom::from(&*type_), bubbles, cancelable,
init.lengthComputable, init.loaded, init.total);
Ok(ev)
}