aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/errorevent.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/errorevent.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/errorevent.rs')
-rw-r--r--components/script/dom/errorevent.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs
index 75c782becf9..8451527821d 100644
--- a/components/script/dom/errorevent.rs
+++ b/components/script/dom/errorevent.rs
@@ -16,6 +16,7 @@ use dom::event::{Event, EventBubbles, EventCancelable};
use js::jsapi::{RootedValue, HandleValue, JSContext};
use js::jsval::JSVal;
use std::cell::Cell;
+use string_cache::Atom;
use util::str::DOMString;
#[dom_struct]
@@ -48,7 +49,7 @@ impl ErrorEvent {
}
pub fn new(global: GlobalRef,
- type_: DOMString,
+ type_: Atom,
bubbles: EventBubbles,
cancelable: EventCancelable,
message: DOMString,
@@ -59,8 +60,8 @@ impl ErrorEvent {
let ev = ErrorEvent::new_uninitialized(global);
{
let event = ev.upcast::<Event>();
- event.InitEvent(type_, bubbles == EventBubbles::Bubbles,
- cancelable == EventCancelable::Cancelable);
+ event.init_event(type_, bubbles == EventBubbles::Bubbles,
+ cancelable == EventCancelable::Cancelable);
*ev.message.borrow_mut() = message;
*ev.filename.borrow_mut() = filename;
ev.lineno.set(lineno);
@@ -98,7 +99,7 @@ impl ErrorEvent {
// Dictionaries need to be rooted
// https://github.com/servo/servo/issues/6381
let error = RootedValue::new(global.get_cx(), init.error);
- let event = ErrorEvent::new(global, type_,
+ let event = ErrorEvent::new(global, Atom::from(&*type_),
bubbles, cancelable,
msg, file_name,
line_num, col_num,