mirror of
https://github.com/servo/servo.git
synced 2025-09-23 05:10:09 +01:00
script: Migrate swmanager to GenericChannel (#39076)
Migrate `ServiceWorkerMsg` and `SWManagerMsg` to GenericChannel Testing: Covered by service worker wpt tests Part of #38912 Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This commit is contained in:
parent
93aeac056b
commit
ce8b05738c
6 changed files with 44 additions and 34 deletions
|
@ -359,17 +359,17 @@ pub struct Constellation<STF, SWF> {
|
|||
bluetooth_ipc_sender: IpcSender<BluetoothRequest>,
|
||||
|
||||
/// A map of origin to sender to a Service worker manager.
|
||||
sw_managers: HashMap<ImmutableOrigin, IpcSender<ServiceWorkerMsg>>,
|
||||
sw_managers: HashMap<ImmutableOrigin, GenericSender<ServiceWorkerMsg>>,
|
||||
|
||||
/// An IPC channel for Service Worker Manager threads to send
|
||||
/// messages to the constellation. This is the SW Manager thread's
|
||||
/// view of `swmanager_receiver`.
|
||||
swmanager_ipc_sender: IpcSender<SWManagerMsg>,
|
||||
swmanager_ipc_sender: GenericSender<SWManagerMsg>,
|
||||
|
||||
/// A channel for the constellation to receive messages from the
|
||||
/// Service Worker Manager thread. This is the constellation's view of
|
||||
/// `swmanager_sender`.
|
||||
swmanager_receiver: Receiver<Result<SWManagerMsg, IpcError>>,
|
||||
swmanager_receiver: RoutedReceiver<SWManagerMsg>,
|
||||
|
||||
/// A channel for the constellation to send messages to the
|
||||
/// time profiler thread.
|
||||
|
@ -607,7 +607,7 @@ where
|
|||
|
||||
// service worker manager to communicate with constellation
|
||||
let (swmanager_ipc_sender, swmanager_ipc_receiver) =
|
||||
ipc::channel().expect("ipc channel failure");
|
||||
generic_channel::channel().expect("ipc channel failure");
|
||||
|
||||
thread::Builder::new()
|
||||
.name("Constellation".to_owned())
|
||||
|
@ -653,10 +653,7 @@ where
|
|||
)
|
||||
};
|
||||
|
||||
let swmanager_receiver =
|
||||
route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
|
||||
swmanager_ipc_receiver,
|
||||
);
|
||||
let swmanager_receiver = swmanager_ipc_receiver.route_preserving_errors();
|
||||
|
||||
// Zero is reserved for the embedder.
|
||||
PipelineNamespace::install(PipelineNamespaceId(1));
|
||||
|
@ -2447,7 +2444,8 @@ where
|
|||
let sw_manager = match self.sw_managers.entry(origin.clone()) {
|
||||
Entry::Occupied(entry) => entry.into_mut(),
|
||||
Entry::Vacant(entry) => {
|
||||
let (own_sender, receiver) = ipc::channel().expect("Failed to create IPC channel!");
|
||||
let (own_sender, receiver) =
|
||||
generic_channel::channel().expect("Failed to create IPC channel!");
|
||||
|
||||
let sw_senders = SWManagerSenders {
|
||||
swmanager_sender: self.swmanager_ipc_sender.clone(),
|
||||
|
|
|
@ -155,7 +155,7 @@ pub struct InitialPipelineState {
|
|||
pub bluetooth_thread: IpcSender<BluetoothRequest>,
|
||||
|
||||
/// A channel to the service worker manager thread
|
||||
pub swmanager_thread: IpcSender<SWManagerMsg>,
|
||||
pub swmanager_thread: GenericSender<SWManagerMsg>,
|
||||
|
||||
/// A proxy to the system font service, responsible for managing the list of system fonts.
|
||||
pub system_font_service: Arc<SystemFontServiceProxy>,
|
||||
|
@ -481,7 +481,7 @@ pub struct UnprivilegedPipelineContent {
|
|||
devtools_ipc_sender: Option<IpcSender<ScriptToDevtoolsControlMsg>>,
|
||||
#[cfg(feature = "bluetooth")]
|
||||
bluetooth_thread: IpcSender<BluetoothRequest>,
|
||||
swmanager_thread: IpcSender<SWManagerMsg>,
|
||||
swmanager_thread: GenericSender<SWManagerMsg>,
|
||||
system_font_service: SystemFontServiceProxySender,
|
||||
resource_threads: ResourceThreads,
|
||||
time_profiler_chan: time::ProfilerChan,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue