aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/constellation/constellation.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index ae2a2ca94f9..96befe8e827 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -1935,12 +1935,17 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF>
if let Some((ref mut rng, _)) = self.random_pipeline_closure {
if let Some(pipeline_id) = rng.choose(&*pipeline_ids) {
if let Some(pipeline) = self.pipelines.get(pipeline_id) {
- // Don't kill the root pipeline
- if pipeline.parent_info.is_none() { return; }
- // Note that we deliberately do not do any of the tidying up
- // associated with closing a pipeline. The constellation should cope!
- info!("Randomly closing pipeline {}.", pipeline_id);
- pipeline.force_exit();
+ // Don't kill the mozbrowser pipeline
+ if prefs::get_pref("dom.mozbrowser.enabled").as_boolean().unwrap_or(false) &&
+ pipeline.parent_info.is_none()
+ {
+ info!("Not closing mozbrowser pipeline {}.", pipeline_id);
+ } else {
+ // Note that we deliberately do not do any of the tidying up
+ // associated with closing a pipeline. The constellation should cope!
+ info!("Randomly closing pipeline {}.", pipeline_id);
+ pipeline.force_exit();
+ }
}
}
}