From 8e428ce5f01ec86807e98827c012dc7bc6ccc7e2 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 10 Aug 2012 18:13:52 -0700 Subject: [PATCH] Thread the image cache task through to the layout task --- src/servo/engine.rs | 12 +++++++++--- src/servo/layout/layout_task.rs | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/servo/engine.rs b/src/servo/engine.rs index 31500e47994..8e1110fdadb 100644 --- a/src/servo/engine.rs +++ b/src/servo/engine.rs @@ -7,6 +7,8 @@ import content::{Content, ExecuteMsg, ParseMsg, ExitMsg, create_content}; import resource::resource_task; import resource::resource_task::{ResourceTask}; import std::net::url::url; +import resource::image_cache_task; +import image_cache_task::{ImageCacheTask, image_cache_task}; import pipes::{port, chan}; @@ -14,21 +16,24 @@ class Engine { let sink: S; let renderer: Renderer; - let layout: Layout; let resource_task: ResourceTask; + let image_cache_task: ImageCacheTask; + let layout: Layout; let content: comm::chan; new(+sink: S) { self.sink = sink; let renderer = Renderer(sink); - let layout = Layout(renderer); let resource_task = ResourceTask(); + let image_cache_task = image_cache_task(resource_task); + let layout = Layout(renderer, image_cache_task); let content = create_content(layout, sink, resource_task); self.renderer = renderer; - self.layout = layout; self.resource_task = resource_task; + self.image_cache_task = image_cache_task; + self.layout = layout; self.content = content; } @@ -62,6 +67,7 @@ class Engine { self.renderer.send(renderer::ExitMsg(response_chan)); response_port.recv(); + self.image_cache_task.send(image_cache_task::Exit); self.resource_task.send(resource_task::Exit); sender.send(()); diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs index dc12fc31e84..d44797190b1 100644 --- a/src/servo/layout/layout_task.rs +++ b/src/servo/layout/layout_task.rs @@ -9,6 +9,7 @@ import dom::base::Node; import dom::style::Stylesheet; import gfx::geometry::px_to_au; import gfx::renderer::Renderer; +import resource::image_cache_task::ImageCacheTask; import task::*; import comm::*; @@ -21,7 +22,7 @@ enum Msg { ExitMsg } -fn Layout(renderer: Renderer) -> Layout { +fn Layout(renderer: Renderer, image_cache_task: ImageCacheTask) -> Layout { do spawn_listener::|request| { loop { match request.recv() {