diff options
author | Ms2ger <ms2ger@gmail.com> | 2015-05-06 11:27:54 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2015-05-06 12:05:26 +0200 |
commit | 692fc0904149ec8dfaa39b720b06c4a766aed86a (patch) | |
tree | ce8675a19f071231896d102346854f5484200ecc | |
parent | 31ebfff9bc3769615f583fd667ab25081b771465 (diff) | |
download | servo-692fc0904149ec8dfaa39b720b06c4a766aed86a.tar.gz servo-692fc0904149ec8dfaa39b720b06c4a766aed86a.zip |
Make the CloseEvent members immutable.
-rw-r--r-- | components/script/dom/closeevent.rs | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/components/script/dom/closeevent.rs b/components/script/dom/closeevent.rs index 1eca14663b3..3492f9be0e8 100644 --- a/components/script/dom/closeevent.rs +++ b/components/script/dom/closeevent.rs @@ -2,7 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::CloseEventBinding; use dom::bindings::codegen::Bindings::CloseEventBinding::CloseEventMethods; @@ -17,23 +16,23 @@ use script_task::ScriptChan; use util::str::DOMString; use std::borrow::ToOwned; -use std::cell::Cell; #[dom_struct] pub struct CloseEvent { event: Event, - wasClean: Cell<bool>, - code: Cell<u16>, - reason: DOMRefCell<DOMString> + wasClean: bool, + code: u16, + reason: DOMString, } impl CloseEvent { - pub fn new_inherited(type_id: EventTypeId) -> CloseEvent { + pub fn new_inherited(type_id: EventTypeId, wasClean: bool, code: u16, + reason: DOMString) -> CloseEvent { CloseEvent { event: Event::new_inherited(type_id), - wasClean: Cell::new(true), - code: Cell::new(0), - reason: DOMRefCell::new("".to_owned()) + wasClean: wasClean, + code: code, + reason: reason, } } @@ -44,19 +43,14 @@ impl CloseEvent { wasClean: bool, code: u16, reason: DOMString) -> Temporary<CloseEvent> { - let ev = reflect_dom_object(box CloseEvent::new_inherited(EventTypeId::CloseEvent), - global, - CloseEventBinding::Wrap); - let ev = ev.root(); + let event = box CloseEvent::new_inherited(EventTypeId::CloseEvent, + wasClean, code, reason); + let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap).root(); let event: JSRef<Event> = EventCast::from_ref(ev.r()); event.InitEvent(type_, bubbles == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable); - let ev = ev.r(); - ev.wasClean.set(wasClean); - ev.code.set(code); - *ev.reason.borrow_mut() = reason; - Temporary::from_rooted(ev) + Temporary::from_rooted(ev.r()) } pub fn Constructor(global: GlobalRef, @@ -77,15 +71,14 @@ impl CloseEvent { impl<'a> CloseEventMethods for JSRef<'a, CloseEvent> { fn WasClean(self) -> bool { - self.wasClean.get() + self.wasClean } fn Code(self) -> u16 { - self.code.get() + self.code } fn Reason(self) -> DOMString { - let reason = self.reason.borrow(); - reason.clone() + self.reason.clone() } } |