diff options
author | Mukilan Thiyagarajan <mukilan@igalia.com> | 2024-05-20 16:05:18 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-20 10:35:18 +0000 |
commit | 2af6fe0b30a275e5fd8a43eca4126d82639fbaa9 (patch) | |
tree | 2687a12c392b30cba7cdcd849133d0d382b79cbe /components/net/image_cache.rs | |
parent | c2076580f352f3c61f90969e03d78ada609935eb (diff) | |
download | servo-2af6fe0b30a275e5fd8a43eca4126d82639fbaa9.tar.gz servo-2af6fe0b30a275e5fd8a43eca4126d82639fbaa9.zip |
compositor: Move WebRender-ish messages and types to `webrender_traits` (#32315)
* Move WebRender related types to `webrender_traits`
This refactor moves several WebRender related types
from `compositing_traits`, `script_traits` and `net_traits`
crates to the `webrender_traits` crate.
This change also moves the `Image` type and associated
function out of `net_traits` and into the `pixels` crate.
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Move `script_traits::WebrenderIpcSender` to `webrender_traits::WebRenderScriptApi`
---------
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/net/image_cache.rs')
-rw-r--r-- | components/net/image_cache.rs | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/components/net/image_cache.rs b/components/net/image_cache.rs index 9235c8d251e..2f0968f3aa4 100644 --- a/components/net/image_cache.rs +++ b/components/net/image_cache.rs @@ -12,19 +12,17 @@ use embedder_traits::resources::{self, Resource}; use imsz::imsz_from_reader; use ipc_channel::ipc::IpcSender; use log::{debug, warn}; -use net_traits::image::base::{load_from_memory, Image, ImageMetadata}; use net_traits::image_cache::{ - CorsStatus, ImageCache, ImageCacheResult, ImageOrMetadataAvailable, ImageResponder, - ImageResponse, PendingImageId, PendingImageResponse, UsePlaceholder, + ImageCache, ImageCacheResult, ImageOrMetadataAvailable, ImageResponder, ImageResponse, + PendingImageId, PendingImageResponse, UsePlaceholder, }; use net_traits::request::CorsSettings; -use net_traits::{ - FetchMetadata, FetchResponseMsg, FilteredMetadata, NetworkError, WebrenderIpcSender, -}; -use pixels::PixelFormat; +use net_traits::{FetchMetadata, FetchResponseMsg, FilteredMetadata, NetworkError}; +use pixels::{load_from_memory, CorsStatus, Image, ImageMetadata, PixelFormat}; use servo_url::{ImmutableOrigin, ServoUrl}; use webrender_api::units::DeviceIntSize; use webrender_api::{ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat}; +use webrender_traits::WebRenderNetApi; use crate::resource_thread::CoreResourceThreadPool; @@ -47,13 +45,13 @@ fn decode_bytes_sync(key: LoadKey, bytes: &[u8], cors: CorsStatus) -> DecoderMsg DecoderMsg { key, image } } -fn get_placeholder_image(webrender_api: &WebrenderIpcSender, data: &[u8]) -> Arc<Image> { +fn get_placeholder_image(webrender_api: &WebRenderNetApi, data: &[u8]) -> Arc<Image> { let mut image = load_from_memory(data, CorsStatus::Unsafe).unwrap(); set_webrender_image_key(webrender_api, &mut image); Arc::new(image) } -fn set_webrender_image_key(webrender_api: &WebrenderIpcSender, image: &mut Image) { +fn set_webrender_image_key(webrender_api: &WebRenderNetApi, image: &mut Image) { if image.id.is_some() { return; } @@ -331,7 +329,7 @@ struct ImageCacheStore { placeholder_url: ServoUrl, // Webrender API instance. - webrender_api: WebrenderIpcSender, + webrender_api: WebRenderNetApi, } impl ImageCacheStore { @@ -418,7 +416,7 @@ pub struct ImageCacheImpl { } impl ImageCache for ImageCacheImpl { - fn new(webrender_api: WebrenderIpcSender) -> ImageCacheImpl { + fn new(webrender_api: WebRenderNetApi) -> ImageCacheImpl { debug!("New image cache"); let rippy_data = resources::read_bytes(Resource::RippyPNG); |