diff options
author | Nico Burns <nico@nicoburns.com> | 2024-11-26 12:42:04 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-25 23:42:04 +0000 |
commit | 63793ccbb7c0768af3f31c274df70625abacb508 (patch) | |
tree | eab4f8cac59a5628df9f70a30028a0bbdc1aa74c | |
parent | 97154d9cf8a42564742eab9d0a8974766edd210f (diff) | |
download | servo-63793ccbb7c0768af3f31c274df70625abacb508.tar.gz servo-63793ccbb7c0768af3f31c274df70625abacb508.zip |
Use `webrender_api::units::DevicePixel` rather than `style_traits::DevicePixel` unless interfacing with Stylo (#34353)
* Use webrender_api::units::DevicePixel rather than style_traits::DevicePixel unless interfacing with Stylo
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Fix OpenHarmony build
Signed-off-by: Nico Burns <nico@nicoburns.com>
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
-rw-r--r-- | Cargo.lock | 25 | ||||
-rw-r--r-- | components/compositing/compositor.rs | 6 | ||||
-rw-r--r-- | components/compositing/touch.rs | 3 | ||||
-rw-r--r-- | components/compositing/windowing.rs | 5 | ||||
-rw-r--r-- | components/layout/display_list/builder.rs | 9 | ||||
-rw-r--r-- | components/layout_2020/display_list/mod.rs | 4 | ||||
-rw-r--r-- | components/layout_thread/lib.rs | 10 | ||||
-rw-r--r-- | components/layout_thread_2020/lib.rs | 11 | ||||
-rw-r--r-- | components/script/dom/paintrenderingcontext2d.rs | 3 | ||||
-rw-r--r-- | components/script/dom/paintworkletglobalscope.rs | 3 | ||||
-rw-r--r-- | components/script/dom/window.rs | 4 | ||||
-rw-r--r-- | ports/servoshell/desktop/geometry.rs | 2 | ||||
-rw-r--r-- | ports/servoshell/desktop/headed_window.rs | 3 | ||||
-rw-r--r-- | ports/servoshell/desktop/headless_window.rs | 3 | ||||
-rw-r--r-- | ports/servoshell/desktop/minibrowser.rs | 2 | ||||
-rw-r--r-- | ports/servoshell/desktop/window_trait.rs | 3 | ||||
-rw-r--r-- | ports/servoshell/egl/servo_glue.rs | 2 |
17 files changed, 52 insertions, 46 deletions
diff --git a/Cargo.lock b/Cargo.lock index d47b601750c..f6dc7947641 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1617,7 +1617,7 @@ dependencies = [ [[package]] name = "dom" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "bitflags 2.6.0", "malloc_size_of", @@ -4246,7 +4246,7 @@ dependencies = [ [[package]] name = "malloc_size_of" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "app_units", "cssparser", @@ -6196,7 +6196,7 @@ dependencies = [ [[package]] name = "selectors" version = "0.26.0" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "bitflags 2.6.0", "cssparser", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "servo_arc" version = "0.4.0" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "serde", "stable_deref_trait", @@ -6493,7 +6493,7 @@ dependencies = [ [[package]] name = "servo_atoms" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "string_cache", "string_cache_codegen", @@ -6866,7 +6866,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "static_prefs" version = "0.1.0" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" [[package]] name = "strck" @@ -6925,7 +6925,7 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "style" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "app_units", "arrayvec", @@ -6983,7 +6983,7 @@ dependencies = [ [[package]] name = "style_config" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "lazy_static", ] @@ -6991,7 +6991,7 @@ dependencies = [ [[package]] name = "style_derive" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "darling", "proc-macro2", @@ -7021,7 +7021,7 @@ dependencies = [ [[package]] name = "style_traits" version = "0.0.1" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "app_units", "bitflags 2.6.0", @@ -7038,7 +7038,6 @@ dependencies = [ "to_shmem", "to_shmem_derive", "url", - "webrender_api", ] [[package]] @@ -7385,7 +7384,7 @@ dependencies = [ [[package]] name = "to_shmem" version = "0.1.0" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "cssparser", "servo_arc", @@ -7398,7 +7397,7 @@ dependencies = [ [[package]] name = "to_shmem_derive" version = "0.1.0" -source = "git+https://github.com/servo/stylo?branch=2024-11-01#639802f35677f444a66fa1cf01bb579065cb2a27" +source = "git+https://github.com/servo/stylo?branch=2024-11-01#4eb9da3b639baab6b16a43b8512b5c11c087fc2c" dependencies = [ "darling", "proc-macro2", diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 47967542d62..e2cc9a9df40 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -35,11 +35,11 @@ use script_traits::{ ScrollState, TouchEventType, TouchId, WheelDelta, WindowSizeData, WindowSizeType, }; use servo_geometry::{DeviceIndependentPixel, FramebufferUintLength}; -use style_traits::{CSSPixel, DevicePixel, PinchZoomFactor}; +use style_traits::{CSSPixel, PinchZoomFactor}; use webrender::{CaptureBits, RenderApi, Transaction}; use webrender_api::units::{ - DeviceIntPoint, DeviceIntSize, DevicePoint, DeviceRect, LayoutPoint, LayoutRect, LayoutSize, - LayoutVector2D, WorldPoint, + DeviceIntPoint, DeviceIntSize, DevicePixel, DevicePoint, DeviceRect, LayoutPoint, LayoutRect, + LayoutSize, LayoutVector2D, WorldPoint, }; use webrender_api::{ self, BuiltDisplayList, DirtyRect, DisplayListPayload, DocumentId, Epoch as WebRenderEpoch, diff --git a/components/compositing/touch.rs b/components/compositing/touch.rs index 5005009d44e..bc75f5ab7c1 100644 --- a/components/compositing/touch.rs +++ b/components/compositing/touch.rs @@ -5,8 +5,7 @@ use euclid::{Point2D, Scale, Vector2D}; use log::{debug, warn}; use script_traits::{EventResult, TouchId}; -use style_traits::DevicePixel; -use webrender_api::units::{DeviceIntPoint, LayoutVector2D}; +use webrender_api::units::{DeviceIntPoint, DevicePixel, LayoutVector2D}; use self::TouchState::*; diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs index d294f084376..83152729a16 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -19,8 +19,9 @@ use script_traits::{ }; use servo_geometry::{DeviceIndependentIntRect, DeviceIndependentIntSize, DeviceIndependentPixel}; use servo_url::ServoUrl; -use style_traits::DevicePixel; -use webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, DevicePoint, DeviceRect}; +use webrender_api::units::{ + DeviceIntPoint, DeviceIntRect, DeviceIntSize, DevicePixel, DevicePoint, DeviceRect, +}; use webrender_api::ScrollLocation; use webrender_traits::RenderingContext; diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 37d9fba2db2..bece8e09557 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -18,7 +18,7 @@ use bitflags::bitflags; use canvas_traits::canvas::{CanvasMsg, FromLayoutMsg}; use embedder_traits::Cursor; use euclid::default::{Point2D, Rect, SideOffsets2D as UntypedSideOffsets2D, Size2D}; -use euclid::{rect, SideOffsets2D}; +use euclid::{rect, Scale, SideOffsets2D}; use fnv::FnvHashMap; use fonts::ByteIndex; use ipc_channel::ipc; @@ -907,7 +907,12 @@ impl Fragment { .filter_map(|(name, id)| id.as_shorthand().err().map(|id| (name, id))) .map(|(name, id)| (name.clone(), style.computed_value_to_string(id))) .collect(); - painter.draw_a_paint_image(size_in_px, device_pixel_ratio, properties, arguments) + painter.draw_a_paint_image( + size_in_px, + Scale::new(device_pixel_ratio.get()), + properties, + arguments, + ) }, None => { debug!("Worklet {} called before registration.", name); diff --git a/components/layout_2020/display_list/mod.rs b/components/layout_2020/display_list/mod.rs index 703e8c523ba..0d848141874 100644 --- a/components/layout_2020/display_list/mod.rs +++ b/components/layout_2020/display_list/mod.rs @@ -32,8 +32,8 @@ use style::values::generics::NonNegative; use style::values::specified::text::TextDecorationLine; use style::values::specified::ui::CursorKind; use style::Zero; -use style_traits::{CSSPixel, DevicePixel}; -use webrender_api::units::{LayoutPixel, LayoutRect, LayoutSize}; +use style_traits::CSSPixel; +use webrender_api::units::{DevicePixel, LayoutPixel, LayoutRect, LayoutSize}; use webrender_api::{ self as wr, units, BorderDetails, BoxShadowClipMode, ClipChainId, CommonItemProperties, ImageRendering, NinePatchBorder, NinePatchBorderSource, diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index 61e718babde..949ee05e5dc 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -101,9 +101,10 @@ use style::traversal_flags::TraversalFlags; use style::values::computed::font::GenericFontFamily; use style::values::computed::{FontSize, Length, NonNegativeLength}; use style::values::specified::font::KeywordInfo; -use style_traits::{CSSPixel, DevicePixel, SpeculativePainter}; +use style_traits::{CSSPixel, SpeculativePainter}; use time_03::Duration; use url::Url; +use webrender_api::units::DevicePixel; use webrender_api::{units, ColorF, HitTestFlags}; use webrender_traits::CrossProcessCompositorApi; @@ -587,7 +588,7 @@ impl LayoutThread { MediaType::screen(), QuirksMode::NoQuirks, window_size.initial_viewport, - window_size.device_pixel_ratio, + Scale::new(window_size.device_pixel_ratio.get()), Box::new(LayoutFontMetricsProvider), ComputedValues::initial_values_with_font_override(font), ); @@ -1400,7 +1401,8 @@ impl LayoutThread { ); if self.stylist.device().au_viewport_size() == au_viewport_size && - self.stylist.device().device_pixel_ratio() == window_size_data.device_pixel_ratio + self.stylist.device().device_pixel_ratio().get() == + window_size_data.device_pixel_ratio.get() { return false; } @@ -1409,7 +1411,7 @@ impl LayoutThread { MediaType::screen(), self.stylist.quirks_mode(), window_size_data.initial_viewport, - window_size_data.device_pixel_ratio, + Scale::new(window_size_data.device_pixel_ratio.get()), Box::new(LayoutFontMetricsProvider), self.stylist.device().default_computed_values().to_arc(), ); diff --git a/components/layout_thread_2020/lib.rs b/components/layout_thread_2020/lib.rs index 8e596e27c9e..b9072328847 100644 --- a/components/layout_thread_2020/lib.rs +++ b/components/layout_thread_2020/lib.rs @@ -87,9 +87,9 @@ use style::values::computed::font::GenericFontFamily; use style::values::computed::{CSSPixelLength, FontSize, Length, NonNegativeLength}; use style::values::specified::font::KeywordInfo; use style::{driver, Zero}; -use style_traits::{CSSPixel, DevicePixel, SpeculativePainter}; +use style_traits::{CSSPixel, SpeculativePainter}; use url::Url; -use webrender_api::units::LayoutPixel; +use webrender_api::units::{DevicePixel, LayoutPixel}; use webrender_api::{units, ExternalScrollId, HitTestFlags}; use webrender_traits::CrossProcessCompositorApi; @@ -567,7 +567,7 @@ impl LayoutThread { MediaType::screen(), QuirksMode::NoQuirks, window_size.initial_viewport, - window_size.device_pixel_ratio, + Scale::new(window_size.device_pixel_ratio.get()), Box::new(LayoutFontMetricsProvider(font_context.clone())), ComputedValues::initial_values_with_font_override(font), ); @@ -1108,7 +1108,8 @@ impl LayoutThread { ); if self.stylist.device().au_viewport_size() == au_viewport_size && - self.stylist.device().device_pixel_ratio() == window_size_data.device_pixel_ratio + self.stylist.device().device_pixel_ratio().get() == + window_size_data.device_pixel_ratio.get() { return false; } @@ -1117,7 +1118,7 @@ impl LayoutThread { MediaType::screen(), self.stylist.quirks_mode(), window_size_data.initial_viewport, - window_size_data.device_pixel_ratio, + Scale::new(window_size_data.device_pixel_ratio.get()), Box::new(LayoutFontMetricsProvider(self.font_context.clone())), self.stylist.device().default_computed_values().to_arc(), ); diff --git a/components/script/dom/paintrenderingcontext2d.rs b/components/script/dom/paintrenderingcontext2d.rs index 26281eea112..e9f93aa50e3 100644 --- a/components/script/dom/paintrenderingcontext2d.rs +++ b/components/script/dom/paintrenderingcontext2d.rs @@ -9,7 +9,8 @@ use dom_struct::dom_struct; use euclid::{Scale, Size2D}; use ipc_channel::ipc::IpcSender; use servo_url::ServoUrl; -use style_traits::{CSSPixel, DevicePixel}; +use style_traits::CSSPixel; +use webrender_api::units::DevicePixel; use crate::dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::{ CanvasFillRule, CanvasImageSource, CanvasLineCap, CanvasLineJoin, diff --git a/components/script/dom/paintworkletglobalscope.rs b/components/script/dom/paintworkletglobalscope.rs index 993b79ad17c..b83bd73b0f6 100644 --- a/components/script/dom/paintworkletglobalscope.rs +++ b/components/script/dom/paintworkletglobalscope.rs @@ -28,7 +28,8 @@ use script_traits::{DrawAPaintImageResult, PaintWorkletError, Painter}; use servo_atoms::Atom; use servo_config::pref; use servo_url::ServoUrl; -use style_traits::{CSSPixel, DevicePixel, SpeculativePainter}; +use style_traits::{CSSPixel, SpeculativePainter}; +use webrender_api::units::DevicePixel; use super::bindings::trace::HashMapTracedValues; use crate::dom::bindings::callback::CallbackContainer; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d5504436708..297c6af550f 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -75,9 +75,9 @@ use style::properties::PropertyId; use style::selector_parser::PseudoElement; use style::str::HTML_SPACE_CHARACTERS; use style::stylesheets::{CssRuleType, Origin, UrlExtraData}; -use style_traits::{CSSPixel, DevicePixel, ParsingMode}; +use style_traits::{CSSPixel, ParsingMode}; use url::Position; -use webrender_api::units::LayoutPixel; +use webrender_api::units::{DevicePixel, LayoutPixel}; use webrender_api::{DocumentId, ExternalScrollId}; use webrender_traits::CrossProcessCompositorApi; diff --git a/ports/servoshell/desktop/geometry.rs b/ports/servoshell/desktop/geometry.rs index bca28fcf839..f76c44cc8f8 100644 --- a/ports/servoshell/desktop/geometry.rs +++ b/ports/servoshell/desktop/geometry.rs @@ -3,7 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use euclid::{Point2D, Size2D}; -use servo::style_traits::DevicePixel; +use servo::webrender_api::units::DevicePixel; use winit::dpi::{PhysicalPosition, PhysicalSize}; pub fn winit_size_to_euclid_size<T>(size: PhysicalSize<T>) -> Size2D<T, DevicePixel> { diff --git a/ports/servoshell/desktop/headed_window.rs b/ports/servoshell/desktop/headed_window.rs index 8d71fce5e44..8f1ad73285b 100644 --- a/ports/servoshell/desktop/headed_window.rs +++ b/ports/servoshell/desktop/headed_window.rs @@ -19,8 +19,7 @@ use servo::keyboard_types::{Key, KeyState, KeyboardEvent}; use servo::script_traits::{TouchEventType, WheelDelta, WheelMode}; use servo::servo_config::{opts, pref}; use servo::servo_geometry::DeviceIndependentPixel; -use servo::style_traits::DevicePixel; -use servo::webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize}; +use servo::webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, DevicePixel}; use servo::webrender_api::ScrollLocation; use servo::webrender_traits::RenderingContext; use surfman::{Connection, Context, Device, SurfaceType}; diff --git a/ports/servoshell/desktop/headless_window.rs b/ports/servoshell/desktop/headless_window.rs index b358b996608..d15f4b3680e 100644 --- a/ports/servoshell/desktop/headless_window.rs +++ b/ports/servoshell/desktop/headless_window.rs @@ -16,8 +16,7 @@ use servo::compositing::windowing::{ }; use servo::config::opts; use servo::servo_geometry::DeviceIndependentPixel; -use servo::style_traits::DevicePixel; -use servo::webrender_api::units::DeviceIntSize; +use servo::webrender_api::units::{DeviceIntSize, DevicePixel}; use servo::webrender_traits::RenderingContext; use surfman::{Connection, Context, Device, SurfaceType}; diff --git a/ports/servoshell/desktop/minibrowser.rs b/ports/servoshell/desktop/minibrowser.rs index c7f1438dac5..22f06f82879 100644 --- a/ports/servoshell/desktop/minibrowser.rs +++ b/ports/servoshell/desktop/minibrowser.rs @@ -24,7 +24,7 @@ use servo::compositing::windowing::EmbedderEvent; use servo::script_traits::TraversalDirection; use servo::servo_geometry::DeviceIndependentPixel; use servo::servo_url::ServoUrl; -use servo::style_traits::DevicePixel; +use servo::webrender_api::units::DevicePixel; use servo::webrender_traits::RenderingContext; use servo::TopLevelBrowsingContextId; use winit::event::{ElementState, MouseButton, WindowEvent}; diff --git a/ports/servoshell/desktop/window_trait.rs b/ports/servoshell/desktop/window_trait.rs index 06da4a594a4..fb528705cbe 100644 --- a/ports/servoshell/desktop/window_trait.rs +++ b/ports/servoshell/desktop/window_trait.rs @@ -10,8 +10,7 @@ use servo::compositing::windowing::{EmbedderEvent, WindowMethods}; use servo::config::opts; use servo::embedder_traits::Cursor; use servo::servo_geometry::DeviceIndependentPixel; -use servo::style_traits::DevicePixel; -use servo::webrender_api::units::{DeviceIntPoint, DeviceIntSize}; +use servo::webrender_api::units::{DeviceIntPoint, DeviceIntSize, DevicePixel}; // This should vary by zoom level and maybe actual text size (focused or under cursor) pub const LINE_HEIGHT: f32 = 38.0; diff --git a/ports/servoshell/egl/servo_glue.rs b/ports/servoshell/egl/servo_glue.rs index 56e39c03564..f94233d09cf 100644 --- a/ports/servoshell/egl/servo_glue.rs +++ b/ports/servoshell/egl/servo_glue.rs @@ -25,7 +25,7 @@ use servo::script_traits::{ MediaSessionActionType, MouseButton, TouchEventType, TouchId, TraversalDirection, }; use servo::servo_geometry::DeviceIndependentPixel; -use servo::style_traits::DevicePixel; +use servo::webrender_api::units::DevicePixel; use servo::webrender_api::ScrollLocation; use servo::webrender_traits::RenderingContext; use servo::{gl, Servo, TopLevelBrowsingContextId}; |