aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/paint_task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/gfx/paint_task.rs')
-rw-r--r--components/gfx/paint_task.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/components/gfx/paint_task.rs b/components/gfx/paint_task.rs
index 331c25a0be2..6ba95a6aaf9 100644
--- a/components/gfx/paint_task.rs
+++ b/components/gfx/paint_task.rs
@@ -205,7 +205,7 @@ pub enum ChromeToPaintMsg {
PaintPermissionGranted,
PaintPermissionRevoked,
CollectReports(ReportsChan),
- Exit(Option<IpcSender<()>>, PipelineExitType),
+ Exit(PipelineExitType),
}
pub struct PaintTask<C> {
@@ -382,8 +382,7 @@ impl<C> PaintTask<C> where C: PaintListener + Send + 'static {
// FIXME(njn): should eventually measure the paint task.
channel.send(Vec::new())
}
- Msg::FromLayout(LayoutToPaintMsg::Exit(ref response_channel, _)) |
- Msg::FromChrome(ChromeToPaintMsg::Exit(ref response_channel, _)) => {
+ Msg::FromLayout(LayoutToPaintMsg::Exit(ref response_channel, _)) => {
// Ask the compositor to remove any layers it is holding for this paint task.
// FIXME(mrobinson): This can probably move back to the constellation now.
self.compositor.notify_paint_task_exiting(self.id);
@@ -392,6 +391,14 @@ impl<C> PaintTask<C> where C: PaintListener + Send + 'static {
response_channel.as_ref().map(|channel| channel.send(()));
break;
}
+ Msg::FromChrome(ChromeToPaintMsg::Exit(_)) => {
+ // Ask the compositor to remove any layers it is holding for this paint task.
+ // FIXME(mrobinson): This can probably move back to the constellation now.
+ self.compositor.notify_paint_task_exiting(self.id);
+
+ debug!("PaintTask: Exiting.");
+ break;
+ }
}
}
}