mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #24875 - jdm:wr-no-ipc, r=asajeffrey
Extract IPC out of webrender Fixes #20172. Fixes #13480.
This commit is contained in:
commit
5f1681ad25
76 changed files with 493 additions and 359 deletions
|
@ -57,7 +57,7 @@ tokio = "0.1"
|
|||
time = "0.1.17"
|
||||
url = "2.0"
|
||||
uuid = {version = "0.8", features = ["v4"]}
|
||||
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
|
||||
webrender_api = {git = "https://github.com/servo/webrender"}
|
||||
ws = { version = "0.9", features = ["ssl"] }
|
||||
|
||||
[dev-dependencies]
|
||||
|
|
|
@ -9,7 +9,9 @@ use net_traits::image_cache::{CanRequestImages, CorsStatus, ImageCache, ImageRes
|
|||
use net_traits::image_cache::{ImageOrMetadataAvailable, ImageResponse, ImageState};
|
||||
use net_traits::image_cache::{PendingImageId, UsePlaceholder};
|
||||
use net_traits::request::CorsSettings;
|
||||
use net_traits::{FetchMetadata, FetchResponseMsg, FilteredMetadata, NetworkError};
|
||||
use net_traits::{
|
||||
FetchMetadata, FetchResponseMsg, FilteredMetadata, NetworkError, WebrenderIpcSender,
|
||||
};
|
||||
use pixels::PixelFormat;
|
||||
use servo_url::{ImmutableOrigin, ServoUrl};
|
||||
use std::collections::hash_map::Entry::{Occupied, Vacant};
|
||||
|
@ -43,7 +45,7 @@ fn decode_bytes_sync(key: LoadKey, bytes: &[u8], cors: CorsStatus) -> DecoderMsg
|
|||
}
|
||||
|
||||
fn get_placeholder_image(
|
||||
webrender_api: &webrender_api::RenderApi,
|
||||
webrender_api: &WebrenderIpcSender,
|
||||
data: &[u8],
|
||||
) -> io::Result<Arc<Image>> {
|
||||
let mut image = load_from_memory(&data, CorsStatus::Unsafe).unwrap();
|
||||
|
@ -51,7 +53,7 @@ fn get_placeholder_image(
|
|||
Ok(Arc::new(image))
|
||||
}
|
||||
|
||||
fn set_webrender_image_key(webrender_api: &webrender_api::RenderApi, image: &mut Image) {
|
||||
fn set_webrender_image_key(webrender_api: &WebrenderIpcSender, image: &mut Image) {
|
||||
if image.id.is_some() {
|
||||
return;
|
||||
}
|
||||
|
@ -337,7 +339,7 @@ struct ImageCacheStore {
|
|||
placeholder_url: ServoUrl,
|
||||
|
||||
// Webrender API instance.
|
||||
webrender_api: webrender_api::RenderApi,
|
||||
webrender_api: WebrenderIpcSender,
|
||||
}
|
||||
|
||||
impl ImageCacheStore {
|
||||
|
@ -423,7 +425,7 @@ pub struct ImageCacheImpl {
|
|||
}
|
||||
|
||||
impl ImageCache for ImageCacheImpl {
|
||||
fn new(webrender_api: webrender_api::RenderApi) -> ImageCacheImpl {
|
||||
fn new(webrender_api: WebrenderIpcSender) -> ImageCacheImpl {
|
||||
debug!("New image cache");
|
||||
|
||||
let rippy_data = resources::read_bytes(Resource::RippyPNG);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue