aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/mouseevent.rs
diff options
context:
space:
mode:
authorGeorge Roman <george.roman.99@gmail.com>2019-04-22 16:53:17 +0300
committerGeorge Roman <george.roman.99@gmail.com>2019-05-16 10:59:20 +0300
commitbe3cb00c775f7adff864200512f54ec8d8090a09 (patch)
treeaf87906032f32b408f77a33f4450f08944f3ad64 /components/script/dom/mouseevent.rs
parent425686984dd1c0e94106bf901fd47dde2eaacc8e (diff)
downloadservo-be3cb00c775f7adff864200512f54ec8d8090a09.tar.gz
servo-be3cb00c775f7adff864200512f54ec8d8090a09.zip
Implement MouseEvent buttons attribute
Diffstat (limited to 'components/script/dom/mouseevent.rs')
-rw-r--r--components/script/dom/mouseevent.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs
index 6ae1c2efab9..6fcadbbeaf8 100644
--- a/components/script/dom/mouseevent.rs
+++ b/components/script/dom/mouseevent.rs
@@ -32,6 +32,7 @@ pub struct MouseEvent {
alt_key: Cell<bool>,
meta_key: Cell<bool>,
button: Cell<i16>,
+ buttons: Cell<u16>,
related_target: MutNullableDom<EventTarget>,
point_in_target: Cell<Option<Point2D<f32>>>,
}
@@ -49,6 +50,7 @@ impl MouseEvent {
alt_key: Cell::new(false),
meta_key: Cell::new(false),
button: Cell::new(0),
+ buttons: Cell::new(0),
related_target: Default::default(),
point_in_target: Cell::new(None),
}
@@ -78,6 +80,7 @@ impl MouseEvent {
shift_key: bool,
meta_key: bool,
button: i16,
+ buttons: u16,
related_target: Option<&EventTarget>,
point_in_target: Option<Point2D<f32>>,
) -> DomRoot<MouseEvent> {
@@ -99,6 +102,7 @@ impl MouseEvent {
button,
related_target,
);
+ ev.buttons.set(buttons);
ev.point_in_target.set(point_in_target);
ev
}
@@ -126,6 +130,7 @@ impl MouseEvent {
init.parent.shiftKey,
init.parent.metaKey,
init.button,
+ 0,
init.relatedTarget.deref(),
None,
);
@@ -183,6 +188,11 @@ impl MouseEventMethods for MouseEvent {
self.button.get()
}
+ // https://w3c.github.io/uievents/#dom-mouseevent-buttons
+ fn Buttons(&self) -> u16 {
+ self.buttons.get()
+ }
+
// https://w3c.github.io/uievents/#widl-MouseEvent-relatedTarget
fn GetRelatedTarget(&self) -> Option<DomRoot<EventTarget>> {
self.related_target.get()