mirror of
https://github.com/servo/servo.git
synced 2025-06-19 14:48:59 +01:00
rename engine --> constellation
This commit is contained in:
parent
fba7ec423c
commit
d17a1f2ad7
12 changed files with 66 additions and 74 deletions
|
@ -9,7 +9,7 @@ use azure::azure_hl::{B8G8R8A8, DrawTarget};
|
||||||
use display_list::DisplayList;
|
use display_list::DisplayList;
|
||||||
use servo_msg::compositor::{RenderListener, IdleRenderState, RenderingRenderState, LayerBuffer};
|
use servo_msg::compositor::{RenderListener, IdleRenderState, RenderingRenderState, LayerBuffer};
|
||||||
use servo_msg::compositor::{CompositorToken, LayerBufferSet};
|
use servo_msg::compositor::{CompositorToken, LayerBufferSet};
|
||||||
use servo_msg::engine::{EngineChan, TokenSurrenderMsg};
|
use servo_msg::constellation::{ConstellationChan, TokenSurrenderMsg};
|
||||||
use font_context::FontContext;
|
use font_context::FontContext;
|
||||||
use geom::matrix2d::Matrix2D;
|
use geom::matrix2d::Matrix2D;
|
||||||
use geom::point::Point2D;
|
use geom::point::Point2D;
|
||||||
|
@ -68,8 +68,8 @@ priv struct RenderTask<C> {
|
||||||
|
|
||||||
/// The layer to be rendered
|
/// The layer to be rendered
|
||||||
render_layer: Option<RenderLayer>,
|
render_layer: Option<RenderLayer>,
|
||||||
/// A channel to the engine task for surrendering token
|
/// A channel to the constellation for surrendering token
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
/// A token that grants permission to send paint messages to compositor
|
/// A token that grants permission to send paint messages to compositor
|
||||||
compositor_token: Option<~CompositorToken>,
|
compositor_token: Option<~CompositorToken>,
|
||||||
/// Cached copy of last layers rendered
|
/// Cached copy of last layers rendered
|
||||||
|
@ -80,12 +80,12 @@ impl<C: RenderListener + Owned> RenderTask<C> {
|
||||||
pub fn create(port: Port<Msg>,
|
pub fn create(port: Port<Msg>,
|
||||||
compositor: C,
|
compositor: C,
|
||||||
opts: Opts,
|
opts: Opts,
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
profiler_chan: ProfilerChan) {
|
profiler_chan: ProfilerChan) {
|
||||||
let compositor_cell = Cell::new(compositor);
|
let compositor_cell = Cell::new(compositor);
|
||||||
let opts_cell = Cell::new(opts);
|
let opts_cell = Cell::new(opts);
|
||||||
let port = Cell::new(port);
|
let port = Cell::new(port);
|
||||||
let engine_chan = Cell::new(engine_chan);
|
let constellation_chan = Cell::new(constellation_chan);
|
||||||
|
|
||||||
do spawn {
|
do spawn {
|
||||||
let compositor = compositor_cell.take();
|
let compositor = compositor_cell.take();
|
||||||
|
@ -106,7 +106,7 @@ impl<C: RenderListener + Owned> RenderTask<C> {
|
||||||
share_gl_context: share_gl_context,
|
share_gl_context: share_gl_context,
|
||||||
render_layer: None,
|
render_layer: None,
|
||||||
|
|
||||||
engine_chan: engine_chan.take(),
|
constellation_chan: constellation_chan.take(),
|
||||||
compositor_token: None,
|
compositor_token: None,
|
||||||
next_paint_msg: None,
|
next_paint_msg: None,
|
||||||
};
|
};
|
||||||
|
@ -140,7 +140,7 @@ impl<C: RenderListener + Owned> RenderTask<C> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TokenProcureMsg => {
|
TokenProcureMsg => {
|
||||||
self.engine_chan.send(TokenSurrenderMsg(self.compositor_token.swap_unwrap()));
|
self.constellation_chan.send(TokenSurrenderMsg(self.compositor_token.swap_unwrap()));
|
||||||
}
|
}
|
||||||
ExitMsg(response_ch) => {
|
ExitMsg(response_ch) => {
|
||||||
response_ch.send(());
|
response_ch.send(());
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use compositing::{CompositorChan, SetLayoutChan, SetRenderChan};
|
use compositing::{CompositorChan, SetLayoutChan, SetRenderChan};
|
||||||
use layout::layout_task;
|
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::comm;
|
use std::comm;
|
||||||
|
@ -13,7 +12,8 @@ use gfx::opts::Opts;
|
||||||
use gfx::render_task::{TokenBestowMsg, TokenProcureMsg};
|
use gfx::render_task::{TokenBestowMsg, TokenProcureMsg};
|
||||||
use pipeline::Pipeline;
|
use pipeline::Pipeline;
|
||||||
use servo_msg::compositor::{CompositorToken};
|
use servo_msg::compositor::{CompositorToken};
|
||||||
use servo_msg::engine::{EngineChan, ExitMsg, LoadUrlMsg, Msg, RendererReadyMsg, TokenSurrenderMsg};
|
use servo_msg::constellation::{ConstellationChan, ExitMsg, LoadUrlMsg, Msg, RendererReadyMsg};
|
||||||
|
use servo_msg::constellation::TokenSurrenderMsg;
|
||||||
use script::script_task::{ExecuteMsg, LoadMsg};
|
use script::script_task::{ExecuteMsg, LoadMsg};
|
||||||
use servo_net::image_cache_task::{ImageCacheTask, ImageCacheTaskClient};
|
use servo_net::image_cache_task::{ImageCacheTask, ImageCacheTaskClient};
|
||||||
use servo_net::resource_task::ResourceTask;
|
use servo_net::resource_task::ResourceTask;
|
||||||
|
@ -21,8 +21,8 @@ use servo_net::resource_task;
|
||||||
use servo_util::time::ProfilerChan;
|
use servo_util::time::ProfilerChan;
|
||||||
use std::hashmap::HashMap;
|
use std::hashmap::HashMap;
|
||||||
|
|
||||||
pub struct Engine {
|
pub struct Constellation {
|
||||||
chan: EngineChan,
|
chan: ConstellationChan,
|
||||||
request_port: Port<Msg>,
|
request_port: Port<Msg>,
|
||||||
compositor_chan: CompositorChan,
|
compositor_chan: CompositorChan,
|
||||||
resource_task: ResourceTask,
|
resource_task: ResourceTask,
|
||||||
|
@ -75,26 +75,27 @@ impl NavigationContext {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Engine {
|
impl Constellation {
|
||||||
pub fn start(compositor_chan: CompositorChan,
|
pub fn start(compositor_chan: CompositorChan,
|
||||||
opts: &Opts,
|
opts: &Opts,
|
||||||
resource_task: ResourceTask,
|
resource_task: ResourceTask,
|
||||||
image_cache_task: ImageCacheTask,
|
image_cache_task: ImageCacheTask,
|
||||||
profiler_chan: ProfilerChan)
|
profiler_chan: ProfilerChan)
|
||||||
-> EngineChan {
|
-> ConstellationChan {
|
||||||
|
|
||||||
let opts = Cell::new(copy *opts);
|
let opts = Cell::new(copy *opts);
|
||||||
|
|
||||||
let (engine_port, engine_chan) = comm::stream();
|
let (constellation_port, constellation_chan) = comm::stream();
|
||||||
let (engine_port, engine_chan) = (Cell::new(engine_port), EngineChan::new(engine_chan));
|
let (constellation_port, constellation_chan) = (Cell::new(constellation_port),
|
||||||
|
ConstellationChan::new(constellation_chan));
|
||||||
|
|
||||||
let compositor_chan = Cell::new(compositor_chan);
|
let compositor_chan = Cell::new(compositor_chan);
|
||||||
let engine_chan_clone = Cell::new(engine_chan.clone());
|
let constellation_chan_clone = Cell::new(constellation_chan.clone());
|
||||||
{
|
{
|
||||||
do task::spawn {
|
do task::spawn {
|
||||||
let mut engine = Engine {
|
let mut constellation = Constellation {
|
||||||
chan: engine_chan_clone.take(),
|
chan: constellation_chan_clone.take(),
|
||||||
request_port: engine_port.take(),
|
request_port: constellation_port.take(),
|
||||||
compositor_chan: compositor_chan.take(),
|
compositor_chan: compositor_chan.take(),
|
||||||
resource_task: resource_task.clone(),
|
resource_task: resource_task.clone(),
|
||||||
image_cache_task: image_cache_task.clone(),
|
image_cache_task: image_cache_task.clone(),
|
||||||
|
@ -106,10 +107,10 @@ impl Engine {
|
||||||
profiler_chan: profiler_chan.clone(),
|
profiler_chan: profiler_chan.clone(),
|
||||||
opts: opts.take(),
|
opts: opts.take(),
|
||||||
};
|
};
|
||||||
engine.run();
|
constellation.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
engine_chan
|
constellation_chan
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run(&mut self) {
|
fn run(&mut self) {
|
||||||
|
@ -153,7 +154,7 @@ impl Engine {
|
||||||
if pipeline_id == id {
|
if pipeline_id == id {
|
||||||
match self.current_token_holder {
|
match self.current_token_holder {
|
||||||
Some(ref id) => {
|
Some(ref id) => {
|
||||||
let current_holder = self.pipelines.find(id).get();
|
let current_holder = self.pipelines.get(id);
|
||||||
current_holder.render_chan.send(TokenProcureMsg);
|
current_holder.render_chan.send(TokenProcureMsg);
|
||||||
}
|
}
|
||||||
None => self.bestow_compositor_token(id, ~CompositorToken::new())
|
None => self.bestow_compositor_token(id, ~CompositorToken::new())
|
||||||
|
@ -164,8 +165,8 @@ impl Engine {
|
||||||
|
|
||||||
TokenSurrenderMsg(token) => {
|
TokenSurrenderMsg(token) => {
|
||||||
self.remove_active_pipeline();
|
self.remove_active_pipeline();
|
||||||
let loading = self.loading.clone();
|
|
||||||
let token = Cell::new(token);
|
let token = Cell::new(token);
|
||||||
|
let loading = self.loading;
|
||||||
do loading.map |&id| {
|
do loading.map |&id| {
|
||||||
self.bestow_compositor_token(id, token.take());
|
self.bestow_compositor_token(id, token.take());
|
||||||
};
|
};
|
||||||
|
@ -195,18 +196,13 @@ impl Engine {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bestow_compositor_token(&mut self, id: uint, compositor_token: ~CompositorToken) {
|
fn bestow_compositor_token(&mut self, id: uint, compositor_token: ~CompositorToken) {
|
||||||
let pipeline = self.pipelines.find(&id);
|
let pipeline = self.pipelines.get(&id);
|
||||||
match pipeline {
|
pipeline.render_chan.send(TokenBestowMsg(compositor_token));
|
||||||
None => fail!("Id of pipeline that made token request does not have a \
|
self.compositor_chan.send(SetLayoutChan(pipeline.layout_chan.clone()));
|
||||||
corresponding struct in Engine's pipelines. This is a bug. :-("),
|
self.compositor_chan.send(SetRenderChan(pipeline.render_chan.clone()));
|
||||||
Some(pipeline) => {
|
self.current_token_holder = Some(id);
|
||||||
pipeline.render_chan.send(TokenBestowMsg(compositor_token));
|
self.loading = None;
|
||||||
self.compositor_chan.send(SetLayoutChan(pipeline.layout_chan.clone()));
|
self.navigation_context.navigate(id);
|
||||||
self.current_token_holder = Some(id);
|
|
||||||
self.loading = None;
|
|
||||||
self.navigation_context.navigate(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ use extra::net::url::Url;
|
||||||
use url_from_str = extra::net::url::from_str;
|
use url_from_str = extra::net::url::from_str;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::result;
|
use std::result;
|
||||||
use std::str;
|
|
||||||
use newcss::stylesheet::Stylesheet;
|
use newcss::stylesheet::Stylesheet;
|
||||||
use newcss::select::SelectCtx;
|
use newcss::select::SelectCtx;
|
||||||
use newcss::types::OriginUA;
|
use newcss::types::OriginUA;
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
/// Implementation of the callbacks that the CSS selector engine uses to query the DOM.
|
/// Implementation of the callbacks that the CSS selector engine uses to query the DOM.
|
||||||
///
|
///
|
||||||
|
|
||||||
use std::str;
|
|
||||||
use std::str::eq_slice;
|
use std::str::eq_slice;
|
||||||
use newcss::select::SelectHandler;
|
use newcss::select::SelectHandler;
|
||||||
use script::dom::node::{AbstractNode, LayoutView};
|
use script::dom::node::{AbstractNode, LayoutView};
|
||||||
|
|
|
@ -840,7 +840,7 @@ impl RenderBox {
|
||||||
pub fn dump_indent(&self, indent: uint) {
|
pub fn dump_indent(&self, indent: uint) {
|
||||||
let mut string = ~"";
|
let mut string = ~"";
|
||||||
for uint::range(0u, indent) |_i| {
|
for uint::range(0u, indent) |_i| {
|
||||||
string += ~" ";
|
string += " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
string += self.debug_str();
|
string += self.debug_str();
|
||||||
|
|
|
@ -394,7 +394,7 @@ impl<'self> FlowContext {
|
||||||
pub fn dump_indent(&self, indent: uint) {
|
pub fn dump_indent(&self, indent: uint) {
|
||||||
let mut s = ~"|";
|
let mut s = ~"|";
|
||||||
for uint::range(0, indent) |_i| {
|
for uint::range(0, indent) |_i| {
|
||||||
s += ~"---- ";
|
s += "---- ";
|
||||||
}
|
}
|
||||||
|
|
||||||
s += self.debug_str();
|
s += self.debug_str();
|
||||||
|
@ -412,7 +412,7 @@ impl<'self> FlowContext {
|
||||||
let mut s = inline.boxes.foldl(~"InlineFlow(children=", |s, box| {
|
let mut s = inline.boxes.foldl(~"InlineFlow(children=", |s, box| {
|
||||||
fmt!("%s b%d", *s, box.id())
|
fmt!("%s b%d", *s, box.id())
|
||||||
});
|
});
|
||||||
s += ~")";
|
s += ")";
|
||||||
s
|
s
|
||||||
},
|
},
|
||||||
BlockFlow(block) => {
|
BlockFlow(block) => {
|
||||||
|
|
|
@ -16,7 +16,7 @@ use layout::flow::FlowContext;
|
||||||
|
|
||||||
use std::cast::transmute;
|
use std::cast::transmute;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::comm::{Chan, Port};
|
use std::comm::{Port};
|
||||||
use geom::point::Point2D;
|
use geom::point::Point2D;
|
||||||
use geom::rect::Rect;
|
use geom::rect::Rect;
|
||||||
use geom::size::Size2D;
|
use geom::size::Size2D;
|
||||||
|
@ -40,7 +40,7 @@ use script::script_task::{ReflowCompleteMsg, ScriptChan, ScriptMsg, SendEventMsg
|
||||||
use servo_net::image_cache_task::{ImageCacheTask, ImageResponseMsg};
|
use servo_net::image_cache_task::{ImageCacheTask, ImageResponseMsg};
|
||||||
use servo_net::local_image_cache::LocalImageCache;
|
use servo_net::local_image_cache::LocalImageCache;
|
||||||
use servo_util::tree::{TreeNodeRef, TreeUtils};
|
use servo_util::tree::{TreeNodeRef, TreeUtils};
|
||||||
use servo_util::time::{ProfilerChan, profile, time};
|
use servo_util::time::{ProfilerChan, profile};
|
||||||
use servo_util::time;
|
use servo_util::time;
|
||||||
use extra::net::url::Url;
|
use extra::net::url::Url;
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use gfx::opts::Opts;
|
||||||
use layout::layout_task::LayoutTask;
|
use layout::layout_task::LayoutTask;
|
||||||
use script::layout_interface::LayoutChan;
|
use script::layout_interface::LayoutChan;
|
||||||
use script::layout_interface;
|
use script::layout_interface;
|
||||||
use servo_msg::engine::{EngineChan};
|
use servo_msg::constellation::{ConstellationChan};
|
||||||
use script::script_task::{ScriptTask, ScriptChan, ScriptMsg};
|
use script::script_task::{ScriptTask, ScriptChan, ScriptMsg};
|
||||||
use script::script_task;
|
use script::script_task;
|
||||||
use servo_net::image_cache_task::ImageCacheTask;
|
use servo_net::image_cache_task::ImageCacheTask;
|
||||||
|
@ -28,7 +28,7 @@ pub struct Pipeline {
|
||||||
impl Pipeline {
|
impl Pipeline {
|
||||||
/// Starts a render task, layout task, and script task. Returns the channels wrapped in a struct.
|
/// Starts a render task, layout task, and script task. Returns the channels wrapped in a struct.
|
||||||
pub fn create(id: uint,
|
pub fn create(id: uint,
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
compositor_chan: CompositorChan,
|
compositor_chan: CompositorChan,
|
||||||
image_cache_task: ImageCacheTask,
|
image_cache_task: ImageCacheTask,
|
||||||
resource_task: ResourceTask,
|
resource_task: ResourceTask,
|
||||||
|
@ -55,7 +55,7 @@ impl Pipeline {
|
||||||
RenderTask::create(render_port,
|
RenderTask::create(render_port,
|
||||||
compositor_chan.clone(),
|
compositor_chan.clone(),
|
||||||
copy opts,
|
copy opts,
|
||||||
engine_chan.clone(),
|
constellation_chan.clone(),
|
||||||
profiler_chan.clone());
|
profiler_chan.clone());
|
||||||
|
|
||||||
LayoutTask::create(layout_port,
|
LayoutTask::create(layout_port,
|
||||||
|
@ -70,7 +70,7 @@ impl Pipeline {
|
||||||
layout_chan.clone(),
|
layout_chan.clone(),
|
||||||
script_port,
|
script_port,
|
||||||
script_chan.clone(),
|
script_chan.clone(),
|
||||||
engine_chan,
|
constellation_chan,
|
||||||
resource_task.clone(),
|
resource_task.clone(),
|
||||||
image_cache_task.clone());
|
image_cache_task.clone());
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ extern mod core_graphics;
|
||||||
extern mod core_text;
|
extern mod core_text;
|
||||||
|
|
||||||
use compositing::{CompositorChan, CompositorTask};
|
use compositing::{CompositorChan, CompositorTask};
|
||||||
use engine::Engine;
|
use constellation::Constellation;
|
||||||
use servo_msg::engine::{ExitMsg, LoadUrlMsg};
|
use servo_msg::constellation::{ExitMsg, LoadUrlMsg};
|
||||||
|
|
||||||
use gfx::opts;
|
use gfx::opts;
|
||||||
use servo_net::image_cache_task::ImageCacheTask;
|
use servo_net::image_cache_task::ImageCacheTask;
|
||||||
|
@ -62,7 +62,7 @@ pub mod css {
|
||||||
pub mod node_style;
|
pub mod node_style;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub mod engine;
|
pub mod constellation;
|
||||||
pub mod pipeline;
|
pub mod pipeline;
|
||||||
|
|
||||||
pub mod layout {
|
pub mod layout {
|
||||||
|
@ -122,24 +122,24 @@ fn run(opts: &Opts) {
|
||||||
|
|
||||||
let resource_task = ResourceTask();
|
let resource_task = ResourceTask();
|
||||||
let image_cache_task = ImageCacheTask(resource_task.clone());
|
let image_cache_task = ImageCacheTask(resource_task.clone());
|
||||||
let engine_chan = Engine::start(compositor_chan.clone(),
|
let constellation_chan = Constellation::start(compositor_chan.clone(),
|
||||||
opts,
|
opts,
|
||||||
resource_task,
|
resource_task,
|
||||||
image_cache_task,
|
image_cache_task,
|
||||||
profiler_chan.clone());
|
profiler_chan.clone());
|
||||||
|
|
||||||
// Send the URL command to the engine task.
|
// Send the URL command to the constellation.
|
||||||
for opts.urls.each |filename| {
|
for opts.urls.each |filename| {
|
||||||
engine_chan.send(LoadUrlMsg(make_url(copy *filename, None)))
|
constellation_chan.send(LoadUrlMsg(make_url(copy *filename, None)))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for the compositor to shut down.
|
// Wait for the compositor to shut down.
|
||||||
shutdown_port.recv();
|
shutdown_port.recv();
|
||||||
|
|
||||||
// Shut the engine down.
|
// Shut the constellation down.
|
||||||
debug!("master: Shut down");
|
debug!("master: Shut down");
|
||||||
let (exit_response_from_engine, exit_chan) = comm::stream();
|
let (exit_response_from_constellation, exit_chan) = comm::stream();
|
||||||
engine_chan.send(ExitMsg(exit_chan));
|
constellation_chan.send(ExitMsg(exit_chan));
|
||||||
exit_response_from_engine.recv();
|
exit_response_from_constellation.recv();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,23 +2,21 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
//! The high-level interface from script to engine. Using this abstract interface helps reduce
|
//! The high-level interface from script to constellation. Using this abstract interface helps reduce
|
||||||
/// coupling between these two components
|
/// coupling between these two components
|
||||||
|
|
||||||
use std::comm::{Chan, SharedChan};
|
use std::comm::{Chan, SharedChan};
|
||||||
use extra::net::url::Url;
|
use extra::net::url::Url;
|
||||||
use compositor::CompositorToken;
|
use compositor::CompositorToken;
|
||||||
|
|
||||||
pub use compositor;
|
|
||||||
|
|
||||||
#[deriving(Clone)]
|
#[deriving(Clone)]
|
||||||
pub struct EngineChan {
|
pub struct ConstellationChan {
|
||||||
chan: SharedChan<Msg>,
|
chan: SharedChan<Msg>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EngineChan {
|
impl ConstellationChan {
|
||||||
pub fn new(chan: Chan<Msg>) -> EngineChan {
|
pub fn new(chan: Chan<Msg>) -> ConstellationChan {
|
||||||
EngineChan {
|
ConstellationChan {
|
||||||
chan: SharedChan::new(chan),
|
chan: SharedChan::new(chan),
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -15,4 +15,4 @@ extern mod geom;
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
|
|
||||||
pub mod compositor;
|
pub mod compositor;
|
||||||
pub mod engine;
|
pub mod constellation;
|
||||||
|
|
|
@ -19,7 +19,7 @@ use layout_interface::{LayoutChan, MatchSelectorsDocumentDamage, QueryMsg, Reflo
|
||||||
use layout_interface::{ReflowDocumentDamage, ReflowForDisplay, ReflowForScriptQuery, ReflowGoal};
|
use layout_interface::{ReflowDocumentDamage, ReflowForDisplay, ReflowForScriptQuery, ReflowGoal};
|
||||||
use layout_interface::ReflowMsg;
|
use layout_interface::ReflowMsg;
|
||||||
use layout_interface;
|
use layout_interface;
|
||||||
use servo_msg::engine::{EngineChan, LoadUrlMsg, RendererReadyMsg};
|
use servo_msg::constellation::{ConstellationChan, LoadUrlMsg, RendererReadyMsg};
|
||||||
|
|
||||||
use std::cast::transmute;
|
use std::cast::transmute;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
@ -59,7 +59,7 @@ pub enum ScriptMsg {
|
||||||
FireTimerMsg(~TimerData),
|
FireTimerMsg(~TimerData),
|
||||||
/// Notifies script that reflow is finished.
|
/// Notifies script that reflow is finished.
|
||||||
ReflowCompleteMsg,
|
ReflowCompleteMsg,
|
||||||
/// Exits the engine.
|
/// Exits the constellation.
|
||||||
ExitMsg,
|
ExitMsg,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,8 +112,8 @@ pub struct ScriptTask {
|
||||||
/// messages.
|
/// messages.
|
||||||
script_chan: ScriptChan,
|
script_chan: ScriptChan,
|
||||||
|
|
||||||
/// For communicating load url messages to the engine
|
/// For communicating load url messages to the constellation
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
/// For permission to communicate ready state messages to the compositor
|
/// For permission to communicate ready state messages to the compositor
|
||||||
compositor: @ScriptListener,
|
compositor: @ScriptListener,
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ impl ScriptTask {
|
||||||
layout_chan: LayoutChan,
|
layout_chan: LayoutChan,
|
||||||
script_port: Port<ScriptMsg>,
|
script_port: Port<ScriptMsg>,
|
||||||
script_chan: ScriptChan,
|
script_chan: ScriptChan,
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
resource_task: ResourceTask,
|
resource_task: ResourceTask,
|
||||||
img_cache_task: ImageCacheTask)
|
img_cache_task: ImageCacheTask)
|
||||||
-> @mut ScriptTask {
|
-> @mut ScriptTask {
|
||||||
|
@ -199,7 +199,7 @@ impl ScriptTask {
|
||||||
script_port: script_port,
|
script_port: script_port,
|
||||||
script_chan: script_chan,
|
script_chan: script_chan,
|
||||||
|
|
||||||
engine_chan: engine_chan,
|
constellation_chan: constellation_chan,
|
||||||
|
|
||||||
js_runtime: js_runtime,
|
js_runtime: js_runtime,
|
||||||
js_context: js_context,
|
js_context: js_context,
|
||||||
|
@ -240,7 +240,7 @@ impl ScriptTask {
|
||||||
layout_chan: LayoutChan,
|
layout_chan: LayoutChan,
|
||||||
script_port: Port<ScriptMsg>,
|
script_port: Port<ScriptMsg>,
|
||||||
script_chan: ScriptChan,
|
script_chan: ScriptChan,
|
||||||
engine_chan: EngineChan,
|
constellation_chan: ConstellationChan,
|
||||||
resource_task: ResourceTask,
|
resource_task: ResourceTask,
|
||||||
image_cache_task: ImageCacheTask) {
|
image_cache_task: ImageCacheTask) {
|
||||||
let compositor = Cell::new(compositor);
|
let compositor = Cell::new(compositor);
|
||||||
|
@ -254,7 +254,7 @@ impl ScriptTask {
|
||||||
layout_chan.clone(),
|
layout_chan.clone(),
|
||||||
script_port.take(),
|
script_port.take(),
|
||||||
script_chan.clone(),
|
script_chan.clone(),
|
||||||
engine_chan.clone(),
|
constellation_chan.clone(),
|
||||||
resource_task.clone(),
|
resource_task.clone(),
|
||||||
image_cache_task.clone());
|
image_cache_task.clone());
|
||||||
script_task.start();
|
script_task.start();
|
||||||
|
@ -333,7 +333,7 @@ impl ScriptTask {
|
||||||
/// Handles a notification that reflow completed.
|
/// Handles a notification that reflow completed.
|
||||||
fn handle_reflow_complete_msg(&mut self) {
|
fn handle_reflow_complete_msg(&mut self) {
|
||||||
self.layout_join_port = None;
|
self.layout_join_port = None;
|
||||||
self.engine_chan.send(RendererReadyMsg(self.id));
|
self.constellation_chan.send(RendererReadyMsg(self.id));
|
||||||
self.compositor.set_ready_state(FinishedLoading);
|
self.compositor.set_ready_state(FinishedLoading);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -604,7 +604,7 @@ impl ScriptTask {
|
||||||
None => None
|
None => None
|
||||||
};
|
};
|
||||||
let url = make_url(attr.value.clone(), current_url);
|
let url = make_url(attr.value.clone(), current_url);
|
||||||
self.engine_chan.send(LoadUrlMsg(url));
|
self.constellation_chan.send(LoadUrlMsg(url));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue