mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
Use Cell/RefCell for interior mutability of MouseEvent.
This commit is contained in:
parent
c03bdac6f0
commit
2215e2ca80
1 changed files with 4 additions and 3 deletions
|
@ -12,6 +12,7 @@ use dom::eventtarget::EventTarget;
|
||||||
use dom::uievent::{UIEvent, UIEventMethods};
|
use dom::uievent::{UIEvent, UIEventMethods};
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
use servo_util::str::DOMString;
|
use servo_util::str::DOMString;
|
||||||
|
use std::cell::Cell;
|
||||||
|
|
||||||
#[deriving(Encodable)]
|
#[deriving(Encodable)]
|
||||||
pub struct MouseEvent {
|
pub struct MouseEvent {
|
||||||
|
@ -25,7 +26,7 @@ pub struct MouseEvent {
|
||||||
pub alt_key: bool,
|
pub alt_key: bool,
|
||||||
pub meta_key: bool,
|
pub meta_key: bool,
|
||||||
pub button: u16,
|
pub button: u16,
|
||||||
pub related_target: Option<JS<EventTarget>>
|
pub related_target: Cell<Option<JS<EventTarget>>>
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MouseEventDerived for Event {
|
impl MouseEventDerived for Event {
|
||||||
|
@ -47,7 +48,7 @@ impl MouseEvent {
|
||||||
alt_key: false,
|
alt_key: false,
|
||||||
meta_key: false,
|
meta_key: false,
|
||||||
button: 0,
|
button: 0,
|
||||||
related_target: None
|
related_target: Cell::new(None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +169,7 @@ impl<'a> MouseEventMethods for JSRef<'a, MouseEvent> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn GetRelatedTarget(&self) -> Option<Temporary<EventTarget>> {
|
fn GetRelatedTarget(&self) -> Option<Temporary<EventTarget>> {
|
||||||
self.related_target.clone().map(|target| Temporary::new(target))
|
self.related_target.get().clone().map(|target| Temporary::new(target))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn GetModifierState(&self, _keyArg: DOMString) -> bool {
|
fn GetModifierState(&self, _keyArg: DOMString) -> bool {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue