diff options
author | Glenn Watson <gw@intuitionlibrary.com> | 2015-07-22 08:20:06 +1000 |
---|---|---|
committer | Glenn Watson <gw@intuitionlibrary.com> | 2015-07-22 08:20:06 +1000 |
commit | 2e074ce452e3c9ffcf9accbb6455130272a857ad (patch) | |
tree | cc2ad24dab6d29902b7b2a2a59496ff28239341d /components/script/dom/mouseevent.rs | |
parent | 2a2c7e18c00920e9c943e5fca33b593a2a7f76fa (diff) | |
download | servo-2e074ce452e3c9ffcf9accbb6455130272a857ad.tar.gz servo-2e074ce452e3c9ffcf9accbb6455130272a857ad.zip |
Implement mouseevent.which (needed for enyojs sampler).
Diffstat (limited to 'components/script/dom/mouseevent.rs')
-rw-r--r-- | components/script/dom/mouseevent.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs index 44e6422ff1e..9e0b7119326 100644 --- a/components/script/dom/mouseevent.rs +++ b/components/script/dom/mouseevent.rs @@ -6,6 +6,7 @@ use dom::bindings::codegen::Bindings::MouseEventBinding; use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; use dom::bindings::codegen::InheritTypes::{EventCast, UIEventCast, MouseEventDerived}; +use dom::bindings::error::Error::NotSupported; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; @@ -14,6 +15,7 @@ use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::uievent::UIEvent; use dom::window::Window; +use util::opts; use util::str::DOMString; use std::cell::Cell; use std::default::Default; @@ -154,6 +156,18 @@ impl<'a> MouseEventMethods for &'a MouseEvent { self.related_target.get().map(Root::from_rooted) } + // See discussion at: + // - https://github.com/servo/servo/issues/6643 + // - https://bugzilla.mozilla.org/show_bug.cgi?id=1186125 + // This returns the same result as current gecko. + fn GetWhich(self) -> Fallible<i32> { + if opts::experimental_enabled() { + Ok((self.button.get() + 1) as i32) + } else { + Err(NotSupported) + } + } + fn InitMouseEvent(self, typeArg: DOMString, canBubbleArg: bool, |