diff --git a/components/shared/embedder/webdriver.rs b/components/shared/embedder/webdriver.rs index 8c32788156a..56b0c690d7f 100644 --- a/components/shared/embedder/webdriver.rs +++ b/components/shared/embedder/webdriver.rs @@ -17,11 +17,10 @@ use image::RgbaImage; use malloc_size_of_derive::MallocSizeOf; use rustc_hash::FxHashMap; use serde::{Deserialize, Serialize}; -use servo_geometry::DeviceIndependentIntRect; +use servo_geometry::{DeviceIndependentIntRect, DeviceIndependentPixel}; use style_traits::CSSPixel; use url::Url; use webdriver::error::ErrorStatus; -use webrender_api::units::DevicePixel; use crate::{InputEvent, JSValue, JavaScriptEvaluationError, ScreenshotCaptureError, TraversalId}; @@ -92,7 +91,10 @@ pub enum WebDriverCommandMsg { /// Get the window rectangle. GetWindowRect(WebViewId, GenericOneshotSender), /// Get the viewport size. - GetViewportSize(WebViewId, GenericOneshotSender>), + GetViewportSize( + WebViewId, + GenericOneshotSender>, + ), /// Load a URL in the top-level browsing context with the given ID. LoadUrl(WebViewId, Url, GenericSender), /// Refresh the top-level browsing context with the given ID. diff --git a/ports/servoshell/webdriver.rs b/ports/servoshell/webdriver.rs index aefd7e1f39a..fdec0de76d1 100644 --- a/ports/servoshell/webdriver.rs +++ b/ports/servoshell/webdriver.rs @@ -247,7 +247,8 @@ impl RunningAppState { }, WebDriverCommandMsg::GetViewportSize(webview_id, response_sender) => { let platform_window = self.platform_window_for_webview_id(webview_id); - let size = platform_window.rendering_context().size2d(); + let size = platform_window.rendering_context().size2d().to_f32() / + platform_window.hidpi_scale_factor(); if let Err(error) = response_sender.send(size) { warn!("Failed to send response of GetViewportSize: {error}"); }