aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/mouseevent.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-09-30 16:39:31 +0200
committerMs2ger <ms2ger@gmail.com>2014-10-01 17:06:23 +0200
commit54fcab61d61533ce4de5436c8721aa7548f8509d (patch)
tree64572dff214e699be5550ab79e8a55c648ea0d35 /components/script/dom/mouseevent.rs
parentf73e5088219cd6deeea0d4f0612cad750fc532a9 (diff)
downloadservo-54fcab61d61533ce4de5436c8721aa7548f8509d.tar.gz
servo-54fcab61d61533ce4de5436c8721aa7548f8509d.zip
Implement MutNullableJS for mutable, nullable member pointers to DOM objects.
Diffstat (limited to 'components/script/dom/mouseevent.rs')
-rw-r--r--components/script/dom/mouseevent.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs
index 9efc5a97d3e..2332417da18 100644
--- a/components/script/dom/mouseevent.rs
+++ b/components/script/dom/mouseevent.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::InheritTypes::{UIEventCast, MouseEventDerived};
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::global;
-use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalSettable};
+use dom::bindings::js::{MutNullableJS, JSRef, RootedReference, Temporary, OptionalSettable};
use dom::bindings::trace::Traceable;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::event::{Event, MouseEventTypeId};
@@ -18,6 +18,7 @@ use dom::uievent::UIEvent;
use dom::window::Window;
use servo_util::str::DOMString;
use std::cell::Cell;
+use std::default::Default;
#[jstraceable]
#[must_root]
@@ -32,7 +33,7 @@ pub struct MouseEvent {
pub alt_key: Traceable<Cell<bool>>,
pub meta_key: Traceable<Cell<bool>>,
pub button: Traceable<Cell<i16>>,
- pub related_target: Cell<Option<JS<EventTarget>>>
+ pub related_target: MutNullableJS<EventTarget>
}
impl MouseEventDerived for Event {
@@ -54,7 +55,7 @@ impl MouseEvent {
alt_key: Traceable::new(Cell::new(false)),
meta_key: Traceable::new(Cell::new(false)),
button: Traceable::new(Cell::new(0)),
- related_target: Cell::new(None)
+ related_target: Default::default(),
}
}
@@ -142,7 +143,7 @@ impl<'a> MouseEventMethods for JSRef<'a, MouseEvent> {
}
fn GetRelatedTarget(self) -> Option<Temporary<EventTarget>> {
- self.related_target.get().clone().map(|target| Temporary::new(target))
+ self.related_target.get()
}
fn InitMouseEvent(self,