aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-11-12 12:13:40 -0500
committerGitHub <noreply@github.com>2019-11-12 12:13:40 -0500
commit641c732281064280da9f370d942de7fb9807ee21 (patch)
tree437a8b9d7be78c9eb568e27d796ca26eeb7aff98
parent944c1e9f976a4daf5ba640d889f0b00a06d15a17 (diff)
parent42ee1a86f6b228fc7b6eb310fecd0a70fe95fb2a (diff)
downloadservo-641c732281064280da9f370d942de7fb9807ee21.tar.gz
servo-641c732281064280da9f370d942de7fb9807ee21.zip
Auto merge of #24709 - paulrouget:movefix, r=jdm
Properly set event.buttons value on mousemove A regular mousemove doesn't have any pressed button. And we were not resetting the pressed buttons after a click. That was messing up some jquery polyfil. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #24596 (GitHub issue number if applicable)
-rw-r--r--components/compositing/compositor.rs6
-rw-r--r--components/constellation/constellation.rs4
-rw-r--r--support/hololens/ServoApp/ServoControl/ServoControl.cpp1
3 files changed, 6 insertions, 5 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index 3df7e1a8a0c..abfcf6b1aa1 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -779,11 +779,7 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
let results = self.hit_test_at_point(cursor);
if let Some(item) = results.items.first() {
let node_address = Some(UntrustedNodeAddress(item.tag.0 as *const c_void));
- let event = MouseMoveEvent(
- Some(item.point_in_viewport.to_untyped()),
- node_address,
- MouseButton::Left as u16,
- );
+ let event = MouseMoveEvent(Some(item.point_in_viewport.to_untyped()), node_address, 0);
let pipeline_id = PipelineId::from_webrender(item.pipeline);
let msg = ConstellationMsg::ForwardEvent(pipeline_id, event);
if let Err(e) = self.constellation_chan.send(msg) {
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index 807495ff3f1..ce71f25c324 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -2286,6 +2286,10 @@ where
_ => event,
};
+ if let MouseButtonEvent(MouseEventType::Click, ..) = event {
+ self.pressed_mouse_buttons = 0;
+ }
+
let msg = ConstellationControlMsg::SendEvent(destination_pipeline_id, event);
let result = match self.pipelines.get(&destination_pipeline_id) {
None => {
diff --git a/support/hololens/ServoApp/ServoControl/ServoControl.cpp b/support/hololens/ServoApp/ServoControl/ServoControl.cpp
index c0a5ee26f8f..5aefe85b813 100644
--- a/support/hololens/ServoApp/ServoControl/ServoControl.cpp
+++ b/support/hololens/ServoApp/ServoControl/ServoControl.cpp
@@ -159,6 +159,7 @@ void ServoControl::OnSurfacePointerMoved(
auto point = e.GetCurrentPoint(Panel());
auto x = point.Position().X * mDPI;
auto y = point.Position().Y * mDPI;
+ e.Handled(true);
RunOnGLThread([=] { mServo->MouseMove(x, y); });
}
}