diff options
author | Samson <16504129+sagudev@users.noreply.github.com> | 2025-03-12 16:36:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-12 15:36:52 +0000 |
commit | 6f6840d63c4ff65114f28f5de6a745974faa22a7 (patch) | |
tree | eb0cde288dbf1cd899cd012e9b5c6f38fdf1b07e /components/layout/display_list/builder.rs | |
parent | f31043602af948c981f039c3ae63cde0c7b21533 (diff) | |
download | servo-6f6840d63c4ff65114f28f5de6a745974faa22a7.tar.gz servo-6f6840d63c4ff65114f28f5de6a745974faa22a7.zip |
canvas: Do not update ImageKey during canvas layout (#35719)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Diffstat (limited to 'components/layout/display_list/builder.rs')
-rw-r--r-- | components/layout/display_list/builder.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 314a3c20db5..5b93fee53c7 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -21,7 +21,6 @@ use euclid::default::{Point2D, Rect, SideOffsets2D as UntypedSideOffsets2D, Size use euclid::{Scale, SideOffsets2D, rect}; use fnv::FnvHashMap; use fonts::ByteIndex; -use ipc_channel::ipc; use log::{debug, warn}; use net_traits::image_cache::UsePlaceholder; use range::Range; @@ -1770,16 +1769,17 @@ impl Fragment { let image_key = match canvas_fragment_info.source { CanvasFragmentSource::WebGL(image_key) => image_key, CanvasFragmentSource::WebGPU(image_key) => image_key, - CanvasFragmentSource::Image(ref ipc_renderer) => { + CanvasFragmentSource::Image((image_key, canvas_id, ref ipc_renderer)) => { let ipc_renderer = ipc_renderer.lock().unwrap(); - let (sender, receiver) = ipc::channel().unwrap(); + let (sender, receiver) = ipc_channel::ipc::channel().unwrap(); ipc_renderer .send(CanvasMsg::FromLayout( - FromLayoutMsg::SendData(sender), - canvas_fragment_info.canvas_id, + FromLayoutMsg::UpdateImage(sender), + canvas_id, )) .unwrap(); - receiver.recv().unwrap().image_key + receiver.recv().unwrap(); + image_key }, CanvasFragmentSource::Empty => return, }; |