servo/components/compositing
bors-servo ad53e95080 Auto merge of #6083 - ecoal95:layerize-canvas, r=pcwalton
I've done a bit of job to get this done. Right now readback is still used, but we have a `LayerId` -> `CanvasRenderer` map on the paint task, that we can use to get rid of that.

I'd want review, to see if this is a good approach (I know it's not the initial `CanvasId` -> renderer approach, but it's pretty similar, since a canvas involves a `PaintLayer`).

I had to do a bit of refactoring to avoid cyclic dependencies between canvas and gfx. I'd want you to review them too.

It's mergeable and doesn't break any tests :P

Some of my main concerns:
* Does the canvas render really need to be behind an `Arc<Mutex<T>>`?
* I can't clone a `NativeSurface` right now (that's why the `SendNativeSurface()` msg is unimplemented in the WebGL task). It should be easy to add that to rust-layers, supposing the caller is responsible to mark it as non-leaking, any reason to not do it?

cc @jdm @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6083)
<!-- Reviewable:end -->
2015-05-20 15:42:06 -05:00
..
Cargo.toml Layerize canvas 2015-05-20 19:10:50 +02:00
compositor.rs Auto merge of #6083 - ecoal95:layerize-canvas, r=pcwalton 2015-05-20 15:42:06 -05:00
compositor_layer.rs compositing: Support multiple events per frame. 2015-05-20 10:53:48 -07:00
compositor_task.rs compositing: Support multiple events per frame. 2015-05-20 10:53:48 -07:00
constellation.rs Make WebDriver Get() command wait on pages loading before returning. 2015-05-14 10:59:10 +01:00
headless.rs compositing: Support multiple events per frame. 2015-05-20 10:53:48 -07:00
lib.rs Auto merge of #6083 - ecoal95:layerize-canvas, r=pcwalton 2015-05-20 15:42:06 -05:00
pipeline.rs compositing: Implement display ports and avoid creating display lists 2015-05-19 16:53:51 -07:00
scrolling.md Add documentation about the scrolling model 2014-10-10 09:26:43 -07:00
scrolling.rs compositing: Fix scrolling timeout. There are 1,000,000 nanoseconds in a 2015-05-11 14:44:49 -07:00
windowing.rs Fixes a number of race conditions and reliability issues with reftests and compositor. 2015-05-14 09:35:53 +10:00