mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Use ROUTER::add_typed_route
instead of ROUTER::add_route
everywhere (#33866)
* Use ROUTER::add_typed_route where possible Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Update webxr, media and ipc-channel Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
ff374c1428
commit
e33bae6d0a
40 changed files with 177 additions and 195 deletions
|
@ -116,14 +116,14 @@ impl AnalyserNode {
|
|||
.dom_manipulation_task_source_with_canceller();
|
||||
let this = Trusted::new(&*object);
|
||||
|
||||
ROUTER.add_route(
|
||||
recv.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
recv,
|
||||
Box::new(move |block| {
|
||||
let this = this.clone();
|
||||
let _ = source.queue_with_canceller(
|
||||
task!(append_analysis_block: move || {
|
||||
let this = this.root();
|
||||
this.push_block(block.to().unwrap())
|
||||
this.push_block(block.unwrap())
|
||||
}),
|
||||
&canceller,
|
||||
);
|
||||
|
|
|
@ -245,8 +245,8 @@ pub fn response_async<T: AsyncBluetoothListener + DomObject + 'static>(
|
|||
promise: Some(TrustedPromise::new(promise.clone())),
|
||||
receiver: Trusted::new(receiver),
|
||||
}));
|
||||
ROUTER.add_route(
|
||||
action_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
action_receiver,
|
||||
Box::new(move |message| {
|
||||
struct ListenerTask<T: AsyncBluetoothListener + DomObject> {
|
||||
context: Arc<Mutex<BluetoothContext<T>>>,
|
||||
|
@ -265,7 +265,7 @@ pub fn response_async<T: AsyncBluetoothListener + DomObject + 'static>(
|
|||
|
||||
let task = ListenerTask {
|
||||
context: context.clone(),
|
||||
action: message.to().unwrap(),
|
||||
action: message.unwrap(),
|
||||
};
|
||||
|
||||
let result = task_source.queue_unconditionally(task);
|
||||
|
|
|
@ -607,10 +607,10 @@ impl EventSourceMethods for EventSource {
|
|||
task_source: global.networking_task_source(),
|
||||
canceller: Some(global.task_canceller(TaskSourceName::Networking)),
|
||||
};
|
||||
ROUTER.add_route(
|
||||
action_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
action_receiver,
|
||||
Box::new(move |message| {
|
||||
listener.notify_fetch(message.to().unwrap());
|
||||
listener.notify_fetch(message.unwrap());
|
||||
}),
|
||||
);
|
||||
let cancel_receiver = ev.canceller.borrow_mut().initialize();
|
||||
|
|
|
@ -306,8 +306,9 @@ impl FakeXRDeviceMethods for FakeXRDevice {
|
|||
.task_manager()
|
||||
.dom_manipulation_task_source_with_canceller();
|
||||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |_| {
|
||||
let trusted = trusted
|
||||
.take()
|
||||
|
|
|
@ -229,14 +229,11 @@ impl GamepadHapticActuatorMethods for GamepadHapticActuator {
|
|||
context,
|
||||
};
|
||||
|
||||
ROUTER.add_route(
|
||||
effect_complete_receiver.to_opaque(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to::<bool>();
|
||||
match msg {
|
||||
Ok(msg) => listener.handle_completed(msg),
|
||||
Err(err) => warn!("Error receiving a GamepadMsg: {:?}", err),
|
||||
}
|
||||
ROUTER.add_typed_route(
|
||||
effect_complete_receiver,
|
||||
Box::new(move |message| match message {
|
||||
Ok(msg) => listener.handle_completed(msg),
|
||||
Err(err) => warn!("Error receiving a GamepadMsg: {:?}", err),
|
||||
}),
|
||||
);
|
||||
|
||||
|
@ -301,14 +298,11 @@ impl GamepadHapticActuatorMethods for GamepadHapticActuator {
|
|||
context,
|
||||
};
|
||||
|
||||
ROUTER.add_route(
|
||||
effect_stop_receiver.to_opaque(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to::<bool>();
|
||||
match msg {
|
||||
Ok(msg) => listener.handle_stopped(msg),
|
||||
Err(err) => warn!("Error receiving a GamepadMsg: {:?}", err),
|
||||
}
|
||||
ROUTER.add_typed_route(
|
||||
effect_stop_receiver,
|
||||
Box::new(move |message| match message {
|
||||
Ok(msg) => listener.handle_stopped(msg),
|
||||
Err(err) => warn!("Error receiving a GamepadMsg: {:?}", err),
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
|
@ -847,10 +847,10 @@ impl GlobalScope {
|
|||
task_source,
|
||||
canceller,
|
||||
};
|
||||
ROUTER.add_route(
|
||||
timer_ipc_port.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
timer_ipc_port,
|
||||
Box::new(move |message| {
|
||||
let event = message.to().unwrap();
|
||||
let event = message.unwrap();
|
||||
timer_listener.handle(event);
|
||||
}),
|
||||
);
|
||||
|
@ -1435,14 +1435,11 @@ impl GlobalScope {
|
|||
task_source,
|
||||
context,
|
||||
};
|
||||
ROUTER.add_route(
|
||||
broadcast_control_receiver.to_opaque(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to();
|
||||
match msg {
|
||||
Ok(msg) => listener.handle(msg),
|
||||
Err(err) => warn!("Error receiving a BroadcastMsg: {:?}", err),
|
||||
}
|
||||
ROUTER.add_typed_route(
|
||||
broadcast_control_receiver,
|
||||
Box::new(move |message| match message {
|
||||
Ok(msg) => listener.handle(msg),
|
||||
Err(err) => warn!("Error receiving a BroadcastMsg: {:?}", err),
|
||||
}),
|
||||
);
|
||||
let router_id = BroadcastChannelRouterId::new();
|
||||
|
@ -1491,14 +1488,11 @@ impl GlobalScope {
|
|||
task_source,
|
||||
context,
|
||||
};
|
||||
ROUTER.add_route(
|
||||
port_control_receiver.to_opaque(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to();
|
||||
match msg {
|
||||
Ok(msg) => listener.notify(msg),
|
||||
Err(err) => warn!("Error receiving a MessagePortMsg: {:?}", err),
|
||||
}
|
||||
ROUTER.add_typed_route(
|
||||
port_control_receiver,
|
||||
Box::new(move |message| match message {
|
||||
Ok(msg) => listener.notify(msg),
|
||||
Err(err) => warn!("Error receiving a MessagePortMsg: {:?}", err),
|
||||
}),
|
||||
);
|
||||
let router_id = MessagePortRouterId::new();
|
||||
|
@ -2021,13 +2015,10 @@ impl GlobalScope {
|
|||
task_canceller,
|
||||
};
|
||||
|
||||
ROUTER.add_route(
|
||||
recv.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
recv.to_ipc_receiver(),
|
||||
Box::new(move |msg| {
|
||||
file_listener.handle(
|
||||
msg.to()
|
||||
.expect("Deserialization of file listener msg failed."),
|
||||
);
|
||||
file_listener.handle(msg.expect("Deserialization of file listener msg failed."));
|
||||
}),
|
||||
);
|
||||
|
||||
|
@ -2050,13 +2041,10 @@ impl GlobalScope {
|
|||
task_canceller,
|
||||
};
|
||||
|
||||
ROUTER.add_route(
|
||||
recv.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
recv.to_ipc_receiver(),
|
||||
Box::new(move |msg| {
|
||||
file_listener.handle(
|
||||
msg.to()
|
||||
.expect("Deserialization of file listener msg failed."),
|
||||
);
|
||||
file_listener.handle(msg.expect("Deserialization of file listener msg failed."));
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -76,8 +76,8 @@ pub fn response_async<T: AsyncWGPUListener + DomObject + 'static>(
|
|||
.task_canceller(TaskSourceName::DOMManipulation);
|
||||
let mut trusted: Option<TrustedPromise> = Some(TrustedPromise::new(promise.clone()));
|
||||
let trusted_receiver = Trusted::new(receiver);
|
||||
ROUTER.add_route(
|
||||
action_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
action_receiver,
|
||||
Box::new(move |message| {
|
||||
let trusted = if let Some(trusted) = trusted.take() {
|
||||
trusted
|
||||
|
@ -92,7 +92,7 @@ pub fn response_async<T: AsyncWGPUListener + DomObject + 'static>(
|
|||
};
|
||||
let result = task_source.queue_with_canceller(
|
||||
task!(process_webgpu_task: move|| {
|
||||
context.response(message.to().unwrap(), CanGc::note());
|
||||
context.response(message.unwrap(), CanGc::note());
|
||||
}),
|
||||
&canceller,
|
||||
);
|
||||
|
|
|
@ -1077,14 +1077,15 @@ impl HTMLImageElement {
|
|||
.task_manager()
|
||||
.networking_task_source_with_canceller();
|
||||
let generation = elem.generation.get();
|
||||
ROUTER.add_route(
|
||||
responder_receiver.to_opaque(),
|
||||
|
||||
ROUTER.add_typed_route(
|
||||
responder_receiver,
|
||||
Box::new(move |message| {
|
||||
debug!("Got image {:?}", message);
|
||||
// Return the image via a message to the script thread, which marks
|
||||
// the element as dirty and triggers a reflow.
|
||||
let element = trusted_node.clone();
|
||||
let image: PendingImageResponse = message.to().unwrap();
|
||||
let image: PendingImageResponse = message.unwrap();
|
||||
let selected_source_clone = selected_source.clone();
|
||||
let _ = task_source.queue_with_canceller(
|
||||
task!(process_image_response_for_environment_change: move || {
|
||||
|
|
|
@ -1372,10 +1372,10 @@ impl HTMLMediaElement {
|
|||
let (task_source, canceller) = window
|
||||
.task_manager()
|
||||
.media_element_task_source_with_canceller();
|
||||
ROUTER.add_route(
|
||||
action_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
action_receiver,
|
||||
Box::new(move |message| {
|
||||
let event = message.to().unwrap();
|
||||
let event = message.unwrap();
|
||||
trace!("Player event {:?}", event);
|
||||
let this = trusted_node.clone();
|
||||
if let Err(err) = task_source.queue_with_canceller(
|
||||
|
@ -1415,10 +1415,10 @@ impl HTMLMediaElement {
|
|||
let (task_source, canceller) = window
|
||||
.task_manager()
|
||||
.media_element_task_source_with_canceller();
|
||||
ROUTER.add_route(
|
||||
image_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
image_receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to().unwrap();
|
||||
let msg = message.unwrap();
|
||||
let this = trusted_node.clone();
|
||||
if let Err(err) = task_source.queue_with_canceller(
|
||||
task!(handle_glplayer_message: move || {
|
||||
|
|
|
@ -153,14 +153,11 @@ impl ServiceWorkerContainerMethods for ServiceWorkerContainer {
|
|||
|
||||
let (job_result_sender, job_result_receiver) = ipc::channel().expect("ipc channel failure");
|
||||
|
||||
ROUTER.add_route(
|
||||
job_result_receiver.to_opaque(),
|
||||
Box::new(move |message| {
|
||||
let msg = message.to();
|
||||
match msg {
|
||||
Ok(msg) => handler.handle(msg),
|
||||
Err(err) => warn!("Error receiving a JobResult: {:?}", err),
|
||||
}
|
||||
ROUTER.add_typed_route(
|
||||
job_result_receiver,
|
||||
Box::new(move |message| match message {
|
||||
Ok(msg) => handler.handle(msg),
|
||||
Err(err) => warn!("Error receiving a JobResult: {:?}", err),
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
|
@ -268,9 +268,9 @@ impl WebSocketMethods for WebSocket {
|
|||
|
||||
let task_source = global.websocket_task_source();
|
||||
let canceller = global.task_canceller(WebsocketTaskSource::NAME);
|
||||
ROUTER.add_route(
|
||||
dom_event_receiver.to_opaque(),
|
||||
Box::new(move |message| match message.to().unwrap() {
|
||||
ROUTER.add_typed_route(
|
||||
dom_event_receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| match message.unwrap() {
|
||||
WebSocketNetworkEvent::ConnectionEstablished { protocol_in_use } => {
|
||||
let open_thread = ConnectionEstablishedTask {
|
||||
address: address.clone(),
|
||||
|
|
|
@ -1934,10 +1934,10 @@ impl Window {
|
|||
let (responder, responder_listener) =
|
||||
ProfiledIpc::channel(self.global().time_profiler_chan().clone()).unwrap();
|
||||
let image_cache_chan = self.image_cache_chan.clone();
|
||||
ROUTER.add_route(
|
||||
responder_listener.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
responder_listener.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
let _ = image_cache_chan.send((pipeline_id, message.to().unwrap()));
|
||||
let _ = image_cache_chan.send((pipeline_id, message.unwrap()));
|
||||
}),
|
||||
);
|
||||
self.image_cache
|
||||
|
|
|
@ -204,10 +204,10 @@ impl XRSession {
|
|||
let (task_source, canceller) = window
|
||||
.task_manager()
|
||||
.dom_manipulation_task_source_with_canceller();
|
||||
ROUTER.add_route(
|
||||
frame_receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
frame_receiver,
|
||||
Box::new(move |message| {
|
||||
let frame: Frame = message.to().unwrap();
|
||||
let frame: Frame = message.unwrap();
|
||||
let time = CrossProcessInstant::now();
|
||||
let this = this.clone();
|
||||
let _ = task_source.queue_with_canceller(
|
||||
|
@ -235,13 +235,13 @@ impl XRSession {
|
|||
.dom_manipulation_task_source_with_canceller();
|
||||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
let this = this.clone();
|
||||
let _ = task_source.queue_with_canceller(
|
||||
task!(xr_event_callback: move || {
|
||||
this.root().event_callback(message.to().unwrap(), CanGc::note());
|
||||
this.root().event_callback(message.unwrap(), CanGc::note());
|
||||
}),
|
||||
&canceller,
|
||||
);
|
||||
|
@ -1047,14 +1047,14 @@ impl XRSessionMethods for XRSession {
|
|||
.dom_manipulation_task_source_with_canceller();
|
||||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
let this = this.clone();
|
||||
let _ = task_source.queue_with_canceller(
|
||||
task!(update_session_framerate: move || {
|
||||
let session = this.root();
|
||||
session.apply_nominal_framerate(message.to().unwrap());
|
||||
session.apply_nominal_framerate(message.unwrap());
|
||||
if let Some(promise) = session.update_framerate_promise.borrow_mut().take() {
|
||||
promise.resolve_native(&());
|
||||
};
|
||||
|
|
|
@ -121,8 +121,8 @@ impl XRSystemMethods for XRSystem {
|
|||
.task_manager()
|
||||
.dom_manipulation_task_source_with_canceller();
|
||||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
// router doesn't know this is only called once
|
||||
let trusted = if let Some(trusted) = trusted.take() {
|
||||
|
@ -131,7 +131,7 @@ impl XRSystemMethods for XRSystem {
|
|||
error!("supportsSession callback called twice!");
|
||||
return;
|
||||
};
|
||||
let message: Result<(), webxr_api::Error> = if let Ok(message) = message.to() {
|
||||
let message: Result<(), webxr_api::Error> = if let Ok(message) = message {
|
||||
message
|
||||
} else {
|
||||
error!("supportsSession callback given incorrect payload");
|
||||
|
@ -242,14 +242,14 @@ impl XRSystemMethods for XRSystem {
|
|||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
let (frame_sender, frame_receiver) = ipc_crate::channel().unwrap();
|
||||
let mut frame_receiver = Some(frame_receiver);
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
// router doesn't know this is only called once
|
||||
let trusted = trusted.take().unwrap();
|
||||
let this = this.clone();
|
||||
let frame_receiver = frame_receiver.take().unwrap();
|
||||
let message: Result<Session, webxr_api::Error> = if let Ok(message) = message.to() {
|
||||
let message: Result<Session, webxr_api::Error> = if let Ok(message) = message {
|
||||
message
|
||||
} else {
|
||||
error!("requestSession callback given incorrect payload");
|
||||
|
|
|
@ -154,16 +154,16 @@ impl XRTestMethods for XRTest {
|
|||
.task_manager()
|
||||
.dom_manipulation_task_source_with_canceller();
|
||||
let (sender, receiver) = ipc::channel(global.time_profiler_chan().clone()).unwrap();
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |message| {
|
||||
let trusted = trusted
|
||||
.take()
|
||||
.expect("SimulateDeviceConnection callback called twice");
|
||||
let this = this.clone();
|
||||
let message = message
|
||||
.to()
|
||||
.expect("SimulateDeviceConnection callback given incorrect payload");
|
||||
let message =
|
||||
message.expect("SimulateDeviceConnection callback given incorrect payload");
|
||||
|
||||
let _ = task_source.queue_with_canceller(
|
||||
task!(request_session: move || {
|
||||
|
@ -209,8 +209,8 @@ impl XRTestMethods for XRTest {
|
|||
.task_manager()
|
||||
.dom_manipulation_task_source_with_canceller();
|
||||
|
||||
ROUTER.add_route(
|
||||
receiver.to_opaque(),
|
||||
ROUTER.add_typed_route(
|
||||
receiver.to_ipc_receiver(),
|
||||
Box::new(move |_| {
|
||||
len -= 1;
|
||||
if len == 0 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue