mirror of
https://github.com/servo/servo.git
synced 2025-08-10 07:55:33 +01:00
Thread the image cache task through to the layout task
This commit is contained in:
parent
e4a09a3287
commit
8e428ce5f0
2 changed files with 11 additions and 4 deletions
|
@ -7,6 +7,8 @@ import content::{Content, ExecuteMsg, ParseMsg, ExitMsg, create_content};
|
||||||
import resource::resource_task;
|
import resource::resource_task;
|
||||||
import resource::resource_task::{ResourceTask};
|
import resource::resource_task::{ResourceTask};
|
||||||
import std::net::url::url;
|
import std::net::url::url;
|
||||||
|
import resource::image_cache_task;
|
||||||
|
import image_cache_task::{ImageCacheTask, image_cache_task};
|
||||||
|
|
||||||
import pipes::{port, chan};
|
import pipes::{port, chan};
|
||||||
|
|
||||||
|
@ -14,21 +16,24 @@ class Engine<S:Sink send copy> {
|
||||||
let sink: S;
|
let sink: S;
|
||||||
|
|
||||||
let renderer: Renderer;
|
let renderer: Renderer;
|
||||||
let layout: Layout;
|
|
||||||
let resource_task: ResourceTask;
|
let resource_task: ResourceTask;
|
||||||
|
let image_cache_task: ImageCacheTask;
|
||||||
|
let layout: Layout;
|
||||||
let content: comm::chan<content::ControlMsg>;
|
let content: comm::chan<content::ControlMsg>;
|
||||||
|
|
||||||
new(+sink: S) {
|
new(+sink: S) {
|
||||||
self.sink = sink;
|
self.sink = sink;
|
||||||
|
|
||||||
let renderer = Renderer(sink);
|
let renderer = Renderer(sink);
|
||||||
let layout = Layout(renderer);
|
|
||||||
let resource_task = ResourceTask();
|
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);
|
let content = create_content(layout, sink, resource_task);
|
||||||
|
|
||||||
self.renderer = renderer;
|
self.renderer = renderer;
|
||||||
self.layout = layout;
|
|
||||||
self.resource_task = resource_task;
|
self.resource_task = resource_task;
|
||||||
|
self.image_cache_task = image_cache_task;
|
||||||
|
self.layout = layout;
|
||||||
self.content = content;
|
self.content = content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +67,7 @@ class Engine<S:Sink send copy> {
|
||||||
self.renderer.send(renderer::ExitMsg(response_chan));
|
self.renderer.send(renderer::ExitMsg(response_chan));
|
||||||
response_port.recv();
|
response_port.recv();
|
||||||
|
|
||||||
|
self.image_cache_task.send(image_cache_task::Exit);
|
||||||
self.resource_task.send(resource_task::Exit);
|
self.resource_task.send(resource_task::Exit);
|
||||||
|
|
||||||
sender.send(());
|
sender.send(());
|
||||||
|
|
|
@ -9,6 +9,7 @@ import dom::base::Node;
|
||||||
import dom::style::Stylesheet;
|
import dom::style::Stylesheet;
|
||||||
import gfx::geometry::px_to_au;
|
import gfx::geometry::px_to_au;
|
||||||
import gfx::renderer::Renderer;
|
import gfx::renderer::Renderer;
|
||||||
|
import resource::image_cache_task::ImageCacheTask;
|
||||||
|
|
||||||
import task::*;
|
import task::*;
|
||||||
import comm::*;
|
import comm::*;
|
||||||
|
@ -21,7 +22,7 @@ enum Msg {
|
||||||
ExitMsg
|
ExitMsg
|
||||||
}
|
}
|
||||||
|
|
||||||
fn Layout(renderer: Renderer) -> Layout {
|
fn Layout(renderer: Renderer, image_cache_task: ImageCacheTask) -> Layout {
|
||||||
do spawn_listener::<Msg>|request| {
|
do spawn_listener::<Msg>|request| {
|
||||||
loop {
|
loop {
|
||||||
match request.recv() {
|
match request.recv() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue