diff options
author | Josh Matthews <josh@joshmatthews.net> | 2020-04-28 10:43:01 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2020-05-11 17:41:56 -0400 |
commit | eb2f7f7f0acd7c71a370fa2122b1af4e0142a658 (patch) | |
tree | c83f8e441b41148ace075dde2edaf0211c848ab4 /components/script_traits/lib.rs | |
parent | 884225003358b3a4cdacc802e4b429e44f28d16f (diff) | |
download | servo-eb2f7f7f0acd7c71a370fa2122b1af4e0142a658.tar.gz servo-eb2f7f7f0acd7c71a370fa2122b1af4e0142a658.zip |
Convert all uses of UpdateResources api to use webrender transactions.
Diffstat (limited to 'components/script_traits/lib.rs')
-rw-r--r-- | components/script_traits/lib.rs | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index aeac1ff6087..b2a3de56796 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -69,8 +69,11 @@ use style_traits::SpeculativePainter; use webrender_api::units::{ DeviceIntSize, DevicePixel, LayoutPixel, LayoutPoint, LayoutSize, WorldPoint, }; -use webrender_api::{BuiltDisplayList, DocumentId, ExternalScrollId, ImageKey, ScrollClamping}; -use webrender_api::{BuiltDisplayListDescriptor, HitTestFlags, HitTestResult, ResourceUpdate}; +use webrender_api::{ + BuiltDisplayList, DocumentId, ExternalScrollId, ImageData, ImageDescriptor, ImageKey, + ScrollClamping, +}; +use webrender_api::{BuiltDisplayListDescriptor, HitTestFlags, HitTestResult}; pub use crate::script_msg::{ DOMMessage, HistoryEntryReplacement, SWManagerMsg, SWManagerSenders, ScopeThings, @@ -1173,7 +1176,7 @@ pub enum WebrenderMsg { /// provided channel sender. GenerateImageKey(IpcSender<ImageKey>), /// Perform a resource update operation. - UpdateResources(Vec<ResourceUpdate>), + UpdateImages(Vec<ImageUpdate>), } #[derive(Clone, Deserialize, Serialize)] @@ -1265,9 +1268,20 @@ impl WebrenderIpcSender { } /// Perform a resource update operation. - pub fn update_resources(&self, updates: Vec<ResourceUpdate>) { - if let Err(e) = self.0.send(WebrenderMsg::UpdateResources(updates)) { - warn!("error sending resource updates: {}", e); + pub fn update_images(&self, updates: Vec<ImageUpdate>) { + if let Err(e) = self.0.send(WebrenderMsg::UpdateImages(updates)) { + warn!("error sending image updates: {}", e); } } } + +#[derive(Deserialize, Serialize)] +/// Serializable image updates that must be performed by WebRender. +pub enum ImageUpdate { + /// Register a new image. + AddImage(ImageKey, ImageDescriptor, ImageData), + /// Delete a previously registered image registration. + DeleteImage(ImageKey), + /// Update an existing image registration. + UpdateImage(ImageKey, ImageDescriptor, ImageData), +} |