servo: Merge
#8393 - Use while let{} instead of loop{match{}} (from rnestler:fix_8384); r=frewsxcv
This fixes
#8384
Source-Repo:
https://github.com/servo/servo
Source-Revision:
1979d0a2e63fb7bb52d560b697b045a8743c0d96
--- a/servo/components/compositing/compositor.rs
+++ b/servo/components/compositing/compositor.rs
@@ -2120,24 +2120,19 @@ fn find_layer_with_pipeline_and_layer_id
}
return None;
}
impl<Window> CompositorEventListener for IOCompositor<Window> where Window: WindowMethods {
fn handle_events(&mut self, messages: Vec<WindowEvent>) -> bool {
// Check for new messages coming from the other tasks in the system.
- loop {
- match self.port.try_recv_compositor_msg() {
- None => break,
- Some(msg) => {
- if !self.handle_browser_message(msg) {
- break
- }
- }
+ while let Some(msg) = self.port.try_recv_compositor_msg() {
+ if !self.handle_browser_message(msg) {
+ break
}
}
if self.shutdown_state == ShutdownState::FinishedShuttingDown {
return false;
}
// Handle any messages coming from the windowing system.
--- a/servo/components/compositing/scrolling.rs
+++ b/servo/components/compositing/scrolling.rs
@@ -49,22 +49,17 @@ impl ScrollingTimerProxy {
pub fn shutdown(&mut self) {
self.sender.send(ToScrollingTimerMsg::ExitMsg).unwrap()
}
}
impl ScrollingTimer {
pub fn run(&mut self) {
- loop {
- match self.receiver.recv() {
- Ok(ToScrollingTimerMsg::ScrollEventProcessedMsg(timestamp)) => {
- let target = timestamp as i64 + TIMEOUT;
- let delta_ns = target - (time::precise_time_ns() as i64);
- sleep_ms((delta_ns / 1000000) as u32);
- self.compositor_proxy.send(Msg::ScrollTimeout(timestamp));
- }
- Ok(ToScrollingTimerMsg::ExitMsg) | Err(_) => break,
- }
+ while let Ok(ToScrollingTimerMsg::ScrollEventProcessedMsg(timestamp)) = self.receiver.recv() {
+ let target = timestamp as i64 + TIMEOUT;
+ let delta_ns = target - (time::precise_time_ns() as i64);
+ sleep_ms((delta_ns / 1000000) as u32);
+ self.compositor_proxy.send(Msg::ScrollTimeout(timestamp));
}
}
}