aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/display_list/builder.rs
diff options
context:
space:
mode:
authorSamson <16504129+sagudev@users.noreply.github.com>2025-03-12 16:36:52 +0100
committerGitHub <noreply@github.com>2025-03-12 15:36:52 +0000
commit6f6840d63c4ff65114f28f5de6a745974faa22a7 (patch)
treeeb0cde288dbf1cd899cd012e9b5c6f38fdf1b07e /components/layout/display_list/builder.rs
parentf31043602af948c981f039c3ae63cde0c7b21533 (diff)
downloadservo-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.rs12
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,
};