diff options
author | Corey Farwell <coreyf@rwell.org> | 2015-12-10 22:06:05 -0500 |
---|---|---|
committer | Corey Farwell <coreyf@rwell.org> | 2015-12-10 23:47:25 -0500 |
commit | 4accaf50b21a6344e9ee7518f7ab07c1dde7c36c (patch) | |
tree | 36d486ba0e57440a7a69e14829814e7ad5006712 /components/script/dom/progressevent.rs | |
parent | 996c0a60b81e7d7e0fbfea81a546771ea9327df6 (diff) | |
download | servo-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.rs | 7 |
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) } |