servo/components
Martin Robinson c0b397322f Stall PaintTask exit until it can release all buffers
It is possible for a PaintTask to start exiting soon after sending new
buffers to the compositor. In that case, the compositor should return
the now unnecessary buffers to the PaintTask so that it can properly
free them.

To accomplish this, the compositor now keeps a hash map of paint task
channels per pipeline id. When a PaintTask exists, the constellation
informs the compositor that it can forget about it. Additionally, the
PaintTask should not wait for any buffers when the engine is doing a
complete shutdown. In that case, the compositor is already halted and
has simply let all buffers leak. We pipe through the shutdown type when
destroying the pipeline to make this decision.

Fixes #2641.
2015-01-02 15:20:32 -08:00
..
canvas Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d. 2014-12-17 15:19:45 -05:00
compositing Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
devtools Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d. 2014-12-17 15:19:45 -05:00
devtools_traits Return real page titles and URLs for devtools tab choices. 2014-12-12 22:38:55 +01:00
gfx Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
layout Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
layout_traits Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
msg Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
net net: Remove glob imports added in #4405 2014-12-19 00:47:09 +09:00
plugins Remove spurious spaces from lints/mod.rs. 2015-01-01 21:25:31 +01:00
script Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
script_traits Stall PaintTask exit until it can release all buffers 2015-01-02 15:20:32 -08:00
servo Add a match_ignore_ascii_case! macro that does not allocate. 2014-12-29 16:19:10 +01:00
style Replace the remaining to_string calls by into_string calls. 2014-12-31 10:34:44 +01:00
util Replace the remaining to_string calls by into_string calls. 2014-12-31 10:34:44 +01:00