diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index 8b478f51684..c9f93d9ab11 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -2000,6 +2000,12 @@ where if self.broadcast_routers.remove(&router_id).is_none() { warn!("Attempt to remove unknown broadcast-channel router."); } + // Also remove the router_id from the broadcast_channels list. + for channels in self.broadcast_channels.values_mut() { + for routers in channels.values_mut() { + routers.retain(|router| router != &router_id); + } + } } /// Add a new broadcast router. diff --git a/components/shared/constellation/structured_data/mod.rs b/components/shared/constellation/structured_data/mod.rs index 89ca1466bc8..4590a7b70e8 100644 --- a/components/shared/constellation/structured_data/mod.rs +++ b/components/shared/constellation/structured_data/mod.rs @@ -47,7 +47,7 @@ pub struct StructuredSerializedData { impl StructuredSerializedData { fn is_empty(&self, val: Transferrable) -> bool { fn is_field_empty(field: &Option>) -> bool { - field.as_ref().is_some_and(|h| h.is_empty()) + field.as_ref().is_none_or(|h| h.is_empty()) } match val { Transferrable::ImageBitmap => is_field_empty(&self.transferred_image_bitmaps),