diff options
author | George Roman <george.roman.99@gmail.com> | 2019-04-22 16:53:17 +0300 |
---|---|---|
committer | George Roman <george.roman.99@gmail.com> | 2019-05-16 10:59:20 +0300 |
commit | be3cb00c775f7adff864200512f54ec8d8090a09 (patch) | |
tree | af87906032f32b408f77a33f4450f08944f3ad64 /components/script/dom/mouseevent.rs | |
parent | 425686984dd1c0e94106bf901fd47dde2eaacc8e (diff) | |
download | servo-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.rs | 10 |
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() |