mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
servoshell: Use DeviceIndependentPixel for WebDriver Rect related requests (#37893)
[Spec](https://w3c.github.io/webdriver/#set-window-rect) expects CSS pixel for input and output. Previously, we use Device Pixel for them instead. Testing: Tested manually with different screen DPR and compared with other browsers. Fixes: Task 4 of https://github.com/servo/servo/issues/37804 --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
This commit is contained in:
parent
0db02702e7
commit
3526b7e86e
8 changed files with 66 additions and 269 deletions
|
@ -9,8 +9,8 @@ use std::rc::Rc;
|
|||
|
||||
use euclid::num::Zero;
|
||||
use euclid::{Length, Point2D, Scale, Size2D};
|
||||
use servo::servo_geometry::DeviceIndependentPixel;
|
||||
use servo::webrender_api::units::{DeviceIntRect, DeviceIntSize, DevicePixel};
|
||||
use servo::servo_geometry::{DeviceIndependentIntRect, DeviceIndependentPixel};
|
||||
use servo::webrender_api::units::{DeviceIntSize, DevicePixel};
|
||||
use servo::{RenderingContext, ScreenGeometry, SoftwareRenderingContext};
|
||||
use winit::dpi::PhysicalSize;
|
||||
|
||||
|
@ -135,8 +135,18 @@ impl WindowPortsMethods for Window {
|
|||
Length::zero()
|
||||
}
|
||||
|
||||
fn window_rect(&self) -> DeviceIntRect {
|
||||
DeviceIntRect::from_origin_and_size(Point2D::zero(), self.inner_size.get())
|
||||
fn window_rect(&self) -> DeviceIndependentIntRect {
|
||||
let inner_size = self.inner_size.get().to_f64();
|
||||
let scale = self.hidpi_scale_factor().get() as f64;
|
||||
// TODO: Find a universal way to convert.
|
||||
// See https://github.com/servo/servo/issues/37937
|
||||
DeviceIndependentIntRect::from_origin_and_size(
|
||||
Point2D::zero(),
|
||||
Size2D::new(
|
||||
(inner_size.width / scale).round() as i32,
|
||||
(inner_size.height / scale).round() as i32,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_toolbar_height(&self, _height: Length<f32, DeviceIndependentPixel>) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue