From 35f0dd352dd860d82174bc56a18949116e921247 Mon Sep 17 00:00:00 2001 From: Jonathan Schwender <55576758+jschwe@users.noreply.github.com> Date: Wed, 27 Aug 2025 10:32:13 +0200 Subject: [PATCH] compositor: Port GenerateFontKeys result sender to generic channel (#38917) Ports the channel returning the result of `GenerateFontKeys` to generic channel Testing: No functional changes - Covered by existing tests Part of https://github.com/servo/servo/issues/38912 Signed-off-by: Jonathan Schwender --- components/compositing/compositor.rs | 5 +++-- components/shared/compositing/lib.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 0195addb747..677bdbc9cc4 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -13,6 +13,7 @@ use std::time::{SystemTime, UNIX_EPOCH}; use base::Epoch; use base::cross_process_instant::CrossProcessInstant; +use base::generic_channel::GenericSender; use base::id::{PipelineId, WebViewId}; use bitflags::bitflags; use compositing_traits::display_list::{CompositorDisplayListInfo, ScrollTree, ScrollType}; @@ -26,7 +27,7 @@ use crossbeam_channel::{Receiver, Sender}; use dpi::PhysicalSize; use embedder_traits::{CompositorHitTestResult, InputEvent, ShutdownState, ViewportDetails}; use euclid::{Point2D, Rect, Scale, Size2D, Transform3D}; -use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory}; +use ipc_channel::ipc::{self, IpcSharedMemory}; use log::{debug, info, trace, warn}; use pixels::{CorsStatus, ImageFrame, ImageMetadata, PixelFormat, RasterImage}; use profile_traits::mem::{ @@ -814,7 +815,7 @@ impl IOCompositor { &self, number_of_font_keys: usize, number_of_font_instance_keys: usize, - result_sender: IpcSender<(Vec, Vec)>, + result_sender: GenericSender<(Vec, Vec)>, ) { let font_keys = (0..number_of_font_keys) .map(|_| self.global.borrow().webrender_api.generate_font_key()) diff --git a/components/shared/compositing/lib.rs b/components/shared/compositing/lib.rs index 23762b9911e..9435c9d0581 100644 --- a/components/shared/compositing/lib.rs +++ b/components/shared/compositing/lib.rs @@ -23,6 +23,7 @@ pub mod viewport_description; use std::collections::HashMap; use std::sync::{Arc, Mutex}; +use base::generic_channel::{self, GenericSender}; use bitflags::bitflags; use display_list::CompositorDisplayListInfo; use embedder_traits::ScreenGeometry; @@ -128,7 +129,7 @@ pub enum CompositorMsg { GenerateFontKeys( usize, usize, - IpcSender<(Vec, Vec)>, + GenericSender<(Vec, Vec)>, ), /// Add a font with the given data and font key. AddFont(FontKey, Arc, u32), @@ -343,7 +344,7 @@ impl CrossProcessCompositorApi { number_of_font_keys: usize, number_of_font_instance_keys: usize, ) -> (Vec, Vec) { - let (sender, receiver) = ipc_channel::ipc::channel().expect("Could not create IPC channel"); + let (sender, receiver) = generic_channel::channel().expect("Could not create IPC channel"); let _ = self.0.send(CompositorMsg::GenerateFontKeys( number_of_font_keys, number_of_font_instance_keys,