aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorBi Fuguo <1782765876@qq.com>2025-02-21 14:01:02 +0800
committerGitHub <noreply@github.com>2025-02-21 06:01:02 +0000
commitd4a8b3b38e128d036934dd5792a8460b8c7e478e (patch)
tree6edab18be2c44ff4ab9f71e906caa4aca478c825 /components/script
parentc6cb50c9569104412a1139b44d9933e257aed746 (diff)
downloadservo-d4a8b3b38e128d036934dd5792a8460b8c7e478e.tar.gz
servo-d4a8b3b38e128d036934dd5792a8460b8c7e478e.zip
fix touch event wrong coordinates. pageX, pageY, clientX, clientY etc. (#35550)
Signed-off-by: kongbai1996 <1782765876@qq.com>
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/document.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 0d2b77a7a9b..5307a6f29cd 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -2031,10 +2031,12 @@ impl Document {
let target = DomRoot::upcast::<EventTarget>(el);
let window = &*self.window;
- let client_x = Finite::wrap(event.point.x as f64);
- let client_y = Finite::wrap(event.point.y as f64);
- let page_x = Finite::wrap(event.point.x as f64 + window.PageXOffset() as f64);
- let page_y = Finite::wrap(event.point.y as f64 + window.PageYOffset() as f64);
+ let client_x = Finite::wrap(hit_test_result.point_in_viewport.x as f64);
+ let client_y = Finite::wrap(hit_test_result.point_in_viewport.y as f64);
+ let page_x =
+ Finite::wrap(hit_test_result.point_in_viewport.x as f64 + window.PageXOffset() as f64);
+ let page_y =
+ Finite::wrap(hit_test_result.point_in_viewport.y as f64 + window.PageYOffset() as f64);
let touch = Touch::new(
window, identifier, &target, client_x,