diff --git a/src/servo/dom/bindings/node.rs b/src/servo/dom/bindings/node.rs index 06b0e95f779..433cfccbf23 100644 --- a/src/servo/dom/bindings/node.rs +++ b/src/servo/dom/bindings/node.rs @@ -5,9 +5,9 @@ use js::jsapi::{JSContext, jsval, JSObject, JSBool, jsid, JSClass, JSFreeOp, JSP use js::jsapi::bindgen::{JS_ValueToString, JS_GetStringCharsZAndLength, JS_ReportError, JS_GetReservedSlot, JS_SetReservedSlot, JS_NewStringCopyN, JS_DefineFunctions, JS_DefineProperty, JS_GetContextPrivate}; +use js::jsval::{INT_TO_JSVAL, JSVAL_TO_PRIVATE}; use js::jsapi::bindgen::*; use js::glue::bindgen::*; -use js::jsval::{INT_TO_JSVAL, JSVAL_TO_PRIVATE}; use dom::node::{Node, NodeScope, Text, Doctype, Comment, Element}; use utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval, str}; diff --git a/src/servo/gfx/png_compositor.rs b/src/servo/gfx/png_compositor.rs index 6e429d42484..903af4dd486 100644 --- a/src/servo/gfx/png_compositor.rs +++ b/src/servo/gfx/png_compositor.rs @@ -29,6 +29,7 @@ use std::cell::Cell; use core::io::BytesWriter; use gfx::render_task::LayerBuffer; use geom::size::Size2D; +use gfx::render_layers::RenderLayer; pub type PngCompositor = Chan; @@ -92,6 +93,7 @@ fn sanity_check() { let renderer = RenderTask(compositor); let dlist : DisplayList = DVec(); + let render_layer = RenderLayer { display_list: move dlist, size: Size2D(800u, 600u) }; renderer.send(RenderMsg(dlist)); let (exit_chan, exit_response_from_engine) = pipes::stream(); renderer.send(render_task::ExitMsg(exit_chan)); diff --git a/src/servo/gfx/render_task.rs b/src/servo/gfx/render_task.rs index 4be2a956111..1b6e78f2b03 100644 --- a/src/servo/gfx/render_task.rs +++ b/src/servo/gfx/render_task.rs @@ -30,7 +30,7 @@ use text::font_cache::FontCache; pub type Renderer = comm::Chan; pub enum Msg { - RenderMsg(dl::DisplayList), + RenderMsg(RenderLayer), ExitMsg(pipes::Chan<()>) } @@ -60,7 +60,7 @@ pub fn RenderTask(compositor: C) -> RenderTask { loop { match po.recv() { - RenderMsg(move display_list) => { + RenderMsg(move render_layer) => { #debug("renderer: got render request"); let layer_buffer_cell = Cell(layer_buffer_port.recv()); @@ -68,18 +68,13 @@ pub fn RenderTask(compositor: C) -> RenderTask { let layer_buffer_channel = Cell(move layer_buffer_channel); layer_buffer_port = new_layer_buffer_port; - let display_list = Cell(move display_list); + let render_layer = Cell(move render_layer); #debug("renderer: rendering"); do util::time::time(~"rendering") { let layer_buffer = layer_buffer_cell.take(); - let display_list = move display_list.take(); - - let render_layer = RenderLayer { - display_list: move display_list, - size: Size2D(800u, 600u) - }; + let render_layer = move render_layer.take(); let layer_buffer = for render_layers::render_layers(&render_layer, move layer_buffer) diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs index cac26f00b03..ebc3fd18028 100644 --- a/src/servo/layout/layout_task.rs +++ b/src/servo/layout/layout_task.rs @@ -16,6 +16,7 @@ use geom::point::Point2D; use geom::rect::Rect; use geom::size::Size2D; use gfx::render_task; +use gfx::render_layers::RenderLayer; use layout::box::RenderBox; use layout::box_builder::LayoutTreeBuilder; use layout::context::LayoutContext; @@ -166,10 +167,16 @@ impl Layout { let builder = dl::DisplayListBuilder { ctx: &layout_ctx, }; + let render_layer = RenderLayer { + display_list: move dlist, + size: Size2D(800u, 600u) + }; + // TODO: set options on the builder before building // TODO: be smarter about what needs painting - layout_root.build_display_list(&builder, © layout_root.d().position, &dlist); - self.render_task.send(render_task::RenderMsg(dlist)); + layout_root.build_display_list(&builder, © layout_root.d().position, + &render_layer.display_list); + self.render_task.send(render_task::RenderMsg(move render_layer)); } // time(layout) } // BuildMsg } // match