aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_traits/lib.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2020-04-28 10:43:01 -0400
committerJosh Matthews <josh@joshmatthews.net>2020-05-11 17:41:56 -0400
commiteb2f7f7f0acd7c71a370fa2122b1af4e0142a658 (patch)
treec83f8e441b41148ace075dde2edaf0211c848ab4 /components/script_traits/lib.rs
parent884225003358b3a4cdacc802e4b429e44f28d16f (diff)
downloadservo-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.rs26
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),
+}