diff options
author | Simon Wülker <simon.wuelker@arcor.de> | 2024-10-18 12:47:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-18 10:47:52 +0000 |
commit | e33bae6d0a172de3e652b9b515bda97c6c4f5af2 (patch) | |
tree | 8cde067f9b38b6708e599953b7035ea585c27b34 /components/script/dom | |
parent | ff374c1428bbcca76c9ba6f565e7e5ccdbf4fc10 (diff) | |
download | servo-e33bae6d0a172de3e652b9b515bda97c6c4f5af2.tar.gz servo-e33bae6d0a172de3e652b9b515bda97c6c4f5af2.zip |
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>
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/analysernode.rs | 6 | ||||
-rw-r--r-- | components/script/dom/bluetooth.rs | 6 | ||||
-rw-r--r-- | components/script/dom/eventsource.rs | 6 | ||||
-rw-r--r-- | components/script/dom/fakexrdevice.rs | 5 | ||||
-rw-r--r-- | components/script/dom/gamepadhapticactuator.rs | 26 | ||||
-rw-r--r-- | components/script/dom/globalscope.rs | 50 | ||||
-rw-r--r-- | components/script/dom/gpu.rs | 6 | ||||
-rw-r--r-- | components/script/dom/htmlimageelement.rs | 7 | ||||
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 12 | ||||
-rw-r--r-- | components/script/dom/serviceworkercontainer.rs | 13 | ||||
-rw-r--r-- | components/script/dom/websocket.rs | 6 | ||||
-rw-r--r-- | components/script/dom/window.rs | 6 | ||||
-rw-r--r-- | components/script/dom/xrsession.rs | 18 | ||||
-rw-r--r-- | components/script/dom/xrsystem.rs | 12 | ||||
-rw-r--r-- | components/script/dom/xrtest.rs | 14 |
15 files changed, 87 insertions, 106 deletions
diff --git a/components/script/dom/analysernode.rs b/components/script/dom/analysernode.rs index ddee7e39f5d..486747ec8fb 100644 --- a/components/script/dom/analysernode.rs +++ b/components/script/dom/analysernode.rs @@ -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, ); diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs index 7ae54893064..ce22ce26ad6 100644 --- a/components/script/dom/bluetooth.rs +++ b/components/script/dom/bluetooth.rs @@ -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); diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index 4e8f0d03db1..0ec539e28ef 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -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(); diff --git a/components/script/dom/fakexrdevice.rs b/components/script/dom/fakexrdevice.rs index ee2d587f257..720fb19df33 100644 --- a/components/script/dom/fakexrdevice.rs +++ b/components/script/dom/fakexrdevice.rs @@ -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() diff --git a/components/script/dom/gamepadhapticactuator.rs b/components/script/dom/gamepadhapticactuator.rs index 54be5de11dd..483a6a25a07 100644 --- a/components/script/dom/gamepadhapticactuator.rs +++ b/components/script/dom/gamepadhapticactuator.rs @@ -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), }), ); diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs index 0e9ec399f4b..0c48267abc9 100644 --- a/components/script/dom/globalscope.rs +++ b/components/script/dom/globalscope.rs @@ -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.")); }), ); } diff --git a/components/script/dom/gpu.rs b/components/script/dom/gpu.rs index 84e1a2fd481..cdac3a5a2e0 100644 --- a/components/script/dom/gpu.rs +++ b/components/script/dom/gpu.rs @@ -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, ); diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 7d818e4a803..797ff8557fc 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -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 || { diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index d37fd854ac0..08c63143ea3 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -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 || { diff --git a/components/script/dom/serviceworkercontainer.rs b/components/script/dom/serviceworkercontainer.rs index dc75fb01e80..e582fcd91e0 100644 --- a/components/script/dom/serviceworkercontainer.rs +++ b/components/script/dom/serviceworkercontainer.rs @@ -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), }), ); diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index ba82450f5df..83edfbc0846 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -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(), diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 24c32223520..4eec2ddfff5 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -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 diff --git a/components/script/dom/xrsession.rs b/components/script/dom/xrsession.rs index 9734d1e3fac..d5765a75b1c 100644 --- a/components/script/dom/xrsession.rs +++ b/components/script/dom/xrsession.rs @@ -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(&()); }; diff --git a/components/script/dom/xrsystem.rs b/components/script/dom/xrsystem.rs index cb22dce6a18..6b88fa2cc8e 100644 --- a/components/script/dom/xrsystem.rs +++ b/components/script/dom/xrsystem.rs @@ -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"); diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs index 5633a99d864..bd0a8b2206a 100644 --- a/components/script/dom/xrtest.rs +++ b/components/script/dom/xrtest.rs @@ -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 { |