diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-07-22 21:53:00 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-07-22 21:53:00 -0600 |
commit | ff86e0094cc4d65c5690a9df8e6996c49f9f076f (patch) | |
tree | 25d6e7d058c9925fcce1f05696bf4b2e630eb2e9 /components/script/dom/mouseevent.rs | |
parent | 37a1e22515e98fbda93d7e856c5a67b21d9b00a4 (diff) | |
parent | d2600e66fba716bd09ff1304de0abd1d0135787d (diff) | |
download | servo-ff86e0094cc4d65c5690a9df8e6996c49f9f076f.tar.gz servo-ff86e0094cc4d65c5690a9df8e6996c49f9f076f.zip |
Auto merge of #6691 - glennw:mouse-which, r=jdm
Implement mouseevent.which (needed for enyojs sampler).
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6691)
<!-- Reviewable:end -->
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, |