diff options
Diffstat (limited to 'components/layout_thread/lib.rs')
-rw-r--r-- | components/layout_thread/lib.rs | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index 07cb7c5a4c8..7446e13a3b5 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -153,7 +153,7 @@ pub struct LayoutThread { font_cache_sender: IpcSender<()>, /// A means of communication with the background hang monitor. - background_hang_monitor: Option<Box<dyn BackgroundHangMonitor>>, + background_hang_monitor: Box<dyn BackgroundHangMonitor>, /// The channel on which messages can be sent to the constellation. constellation_chan: IpcSender<ConstellationMsg>, @@ -266,7 +266,7 @@ impl LayoutThreadFactory for LayoutThread { is_iframe: bool, chan: (Sender<Msg>, Receiver<Msg>), pipeline_port: IpcReceiver<LayoutControlMsg>, - background_hang_monitor_register: Option<Box<dyn BackgroundHangMonitorRegister>>, + background_hang_monitor_register: Box<dyn BackgroundHangMonitorRegister>, constellation_chan: IpcSender<ConstellationMsg>, script_chan: IpcSender<ConstellationControlMsg>, image_cache: Arc<dyn ImageCache>, @@ -299,13 +299,13 @@ impl LayoutThreadFactory for LayoutThread { // Ensures layout thread is destroyed before we send shutdown message let sender = chan.0; - let background_hang_monitor = background_hang_monitor_register.map(|bhm| { - bhm.register_component( + let background_hang_monitor = background_hang_monitor_register + .register_component( MonitoredComponentId(id, MonitoredComponentType::Layout), Duration::from_millis(1000), Duration::from_millis(5000), - ) - }); + None, + ); let layout = LayoutThread::new( id, @@ -483,7 +483,7 @@ impl LayoutThread { is_iframe: bool, port: Receiver<Msg>, pipeline_port: IpcReceiver<LayoutControlMsg>, - background_hang_monitor: Option<Box<dyn BackgroundHangMonitor>>, + background_hang_monitor: Box<dyn BackgroundHangMonitor>, constellation_chan: IpcSender<ConstellationMsg>, script_chan: IpcSender<ConstellationControlMsg>, image_cache: Arc<dyn ImageCache>, @@ -656,8 +656,7 @@ impl LayoutThread { Msg::SetNavigationStart(..) => LayoutHangAnnotation::SetNavigationStart, }; self.background_hang_monitor - .as_ref() - .map(|bhm| bhm.notify_activity(HangAnnotation::Layout(hang_annotation))); + .notify_activity(HangAnnotation::Layout(hang_annotation)); } /// Receives and dispatches messages from the script and constellation threads @@ -669,9 +668,7 @@ impl LayoutThread { } // Notify the background-hang-monitor we are waiting for an event. - self.background_hang_monitor - .as_ref() - .map(|bhm| bhm.notify_wait()); + self.background_hang_monitor.notify_wait(); let request = select! { recv(self.pipeline_port) -> msg => Request::FromPipeline(msg.unwrap()), @@ -926,9 +923,7 @@ impl LayoutThread { ); self.root_flow.borrow_mut().take(); - self.background_hang_monitor - .as_ref() - .map(|bhm| bhm.unregister()); + self.background_hang_monitor.unregister(); } fn handle_add_stylesheet(&self, stylesheet: &Stylesheet, guard: &SharedRwLockReadGuard) { |