mirror of
https://github.com/servo/servo.git
synced 2025-08-02 12:10:29 +01:00
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>
This commit is contained in:
parent
c2076580f3
commit
2af6fe0b30
53 changed files with 666 additions and 617 deletions
|
@ -7,12 +7,13 @@ use std::sync::Arc;
|
|||
use ipc_channel::ipc::IpcSender;
|
||||
use log::debug;
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use pixels::{Image, ImageMetadata};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use servo_url::{ImmutableOrigin, ServoUrl};
|
||||
use webrender_traits::WebRenderNetApi;
|
||||
|
||||
use crate::image::base::{Image, ImageMetadata};
|
||||
use crate::request::CorsSettings;
|
||||
use crate::{FetchResponseMsg, WebrenderIpcSender};
|
||||
use crate::FetchResponseMsg;
|
||||
|
||||
// ======================================================================
|
||||
// Aux structs and enums.
|
||||
|
@ -98,7 +99,7 @@ pub enum ImageCacheResult {
|
|||
}
|
||||
|
||||
pub trait ImageCache: Sync + Send {
|
||||
fn new(webrender_api: WebrenderIpcSender) -> Self
|
||||
fn new(webrender_api: WebRenderNetApi) -> Self
|
||||
where
|
||||
Self: Sized;
|
||||
|
||||
|
@ -140,14 +141,3 @@ pub trait ImageCache: Sync + Send {
|
|||
/// Inform the image cache about a response for a pending request.
|
||||
fn notify_pending_response(&self, id: PendingImageId, action: FetchResponseMsg);
|
||||
}
|
||||
|
||||
/// Whether this response passed any CORS checks, and is thus safe to read from
|
||||
/// in cross-origin environments.
|
||||
#[derive(Clone, Copy, Debug, Deserialize, MallocSizeOf, PartialEq, Serialize)]
|
||||
pub enum CorsStatus {
|
||||
/// The response is either same-origin or cross-origin but passed CORS checks.
|
||||
Safe,
|
||||
/// The response is cross-origin and did not pass CORS checks. It is unsafe
|
||||
/// to expose pixel data to the requesting environment.
|
||||
Unsafe,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue