aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/mouseevent.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-22 21:53:00 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-22 21:53:00 -0600
commitff86e0094cc4d65c5690a9df8e6996c49f9f076f (patch)
tree25d6e7d058c9925fcce1f05696bf4b2e630eb2e9 /components/script/dom/mouseevent.rs
parent37a1e22515e98fbda93d7e856c5a67b21d9b00a4 (diff)
parentd2600e66fba716bd09ff1304de0abd1d0135787d (diff)
downloadservo-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.rs14
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,