aboutsummaryrefslogtreecommitdiffstats
path: root/src/servo/engine.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-07-27 16:19:38 -0700
committerBrian Anderson <banderson@mozilla.com>2012-07-27 16:19:38 -0700
commitf48309739f780103f875b8d0cba2079f76ad588c (patch)
treeb56b4a07baeb21887ce24e0b951d735d107b55c5 /src/servo/engine.rs
parentc01899233a278d4afdcfd9093dde08692574a960 (diff)
downloadservo-f48309739f780103f875b8d0cba2079f76ad588c.tar.gz
servo-f48309739f780103f875b8d0cba2079f76ad588c.zip
Begin threading the ResourceTask through the engine
Diffstat (limited to 'src/servo/engine.rs')
-rw-r--r--src/servo/engine.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/servo/engine.rs b/src/servo/engine.rs
index 8cc97b83e3c..f248ac1b27b 100644
--- a/src/servo/engine.rs
+++ b/src/servo/engine.rs
@@ -4,6 +4,8 @@ import comm::chan;
import layout::layout_task;
import layout_task::Layout;
import content::{Content, ExecuteMsg, ParseMsg, ExitMsg, create_content};
+import resource::resource_task;
+import resource::resource_task::{ResourceTask};
import pipes::{port, chan};
@@ -12,6 +14,7 @@ class Engine<S:Sink send copy> {
let renderer: Renderer;
let layout: Layout;
+ let resource_task: ResourceTask;
let content: comm::chan<content::ControlMsg>;
new(+sink: S) {
@@ -19,10 +22,12 @@ class Engine<S:Sink send copy> {
let renderer = Renderer(sink);
let layout = Layout(renderer);
- let content = create_content(layout, sink);
+ let resource_task = ResourceTask();
+ let content = create_content(layout, sink, resource_task);
self.renderer = renderer;
self.layout = layout;
+ self.resource_task = resource_task;
self.content = content;
}
@@ -55,6 +60,8 @@ class Engine<S:Sink send copy> {
self.renderer.send(renderer::ExitMsg(response_chan));
response_port.recv();
+ self.resource_task.send(resource_task::Exit);
+
sender.send(());
ret false;
}