mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Remove ConstellationChan.
It's a pointless abstraction that propagates the obsolete chan terminology, swaps the order in which the sender and receiver are returned, and hides a source of panics.
This commit is contained in:
parent
2572a7d2c5
commit
cc2b2b50a7
24 changed files with 110 additions and 162 deletions
|
@ -7,7 +7,8 @@
|
|||
use flow::{self, Flow};
|
||||
use gfx::display_list::OpaqueNode;
|
||||
use incremental::RestyleDamage;
|
||||
use msg::constellation_msg::{ConstellationChan, PipelineId};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use script_traits::{AnimationState, LayoutMsg as ConstellationMsg};
|
||||
use std::collections::HashMap;
|
||||
use std::collections::hash_map::Entry;
|
||||
|
@ -17,7 +18,7 @@ use time;
|
|||
|
||||
/// Processes any new animations that were discovered after style recalculation.
|
||||
/// Also expire any old animations that have completed, inserting them into `expired_animations`.
|
||||
pub fn update_animation_state(constellation_chan: &ConstellationChan<ConstellationMsg>,
|
||||
pub fn update_animation_state(constellation_chan: &IpcSender<ConstellationMsg>,
|
||||
running_animations: &mut HashMap<OpaqueNode, Vec<Animation>>,
|
||||
expired_animations: &mut HashMap<OpaqueNode, Vec<Animation>>,
|
||||
new_animations_receiver: &Receiver<Animation>,
|
||||
|
@ -77,8 +78,7 @@ pub fn update_animation_state(constellation_chan: &ConstellationChan<Constellati
|
|||
animation_state = AnimationState::AnimationsPresent;
|
||||
}
|
||||
|
||||
constellation_chan.0
|
||||
.send(ConstellationMsg::ChangeRunningAnimationsState(pipeline_id, animation_state))
|
||||
constellation_chan.send(ConstellationMsg::ChangeRunningAnimationsState(pipeline_id, animation_state))
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ use ipc_channel::router::ROUTER;
|
|||
use layout_debug;
|
||||
use layout_traits::{ConvertPipelineIdToWebRender, LayoutThreadFactory};
|
||||
use log;
|
||||
use msg::constellation_msg::{ConstellationChan, PanicMsg, PipelineId};
|
||||
use msg::constellation_msg::{PanicMsg, PipelineId};
|
||||
use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheResult, ImageCacheThread};
|
||||
use net_traits::image_cache_thread::{UsePlaceholder};
|
||||
use parallel;
|
||||
|
@ -100,7 +100,7 @@ const DISPLAY_PORT_THRESHOLD_SIZE_FACTOR: i32 = 4;
|
|||
/// This needs to be protected by a mutex so we can do fast RPCs.
|
||||
pub struct LayoutThreadData {
|
||||
/// The channel on which messages can be sent to the constellation.
|
||||
pub constellation_chan: ConstellationChan<ConstellationMsg>,
|
||||
pub constellation_chan: IpcSender<ConstellationMsg>,
|
||||
|
||||
/// The root stacking context.
|
||||
pub display_list: Option<Arc<DisplayList>>,
|
||||
|
@ -168,7 +168,7 @@ pub struct LayoutThread {
|
|||
font_cache_sender: IpcSender<()>,
|
||||
|
||||
/// The channel on which messages can be sent to the constellation.
|
||||
constellation_chan: ConstellationChan<ConstellationMsg>,
|
||||
constellation_chan: IpcSender<ConstellationMsg>,
|
||||
|
||||
/// The channel on which messages can be sent to the script thread.
|
||||
script_chan: IpcSender<ConstellationControlMsg>,
|
||||
|
@ -253,8 +253,8 @@ impl LayoutThreadFactory for LayoutThread {
|
|||
is_iframe: bool,
|
||||
chan: OpaqueScriptLayoutChannel,
|
||||
pipeline_port: IpcReceiver<LayoutControlMsg>,
|
||||
constellation_chan: ConstellationChan<ConstellationMsg>,
|
||||
panic_chan: ConstellationChan<PanicMsg>,
|
||||
constellation_chan: IpcSender<ConstellationMsg>,
|
||||
panic_chan: IpcSender<PanicMsg>,
|
||||
script_chan: IpcSender<ConstellationControlMsg>,
|
||||
paint_chan: OptionalIpcSender<LayoutToPaintMsg>,
|
||||
image_cache_thread: ImageCacheThread,
|
||||
|
@ -264,7 +264,6 @@ impl LayoutThreadFactory for LayoutThread {
|
|||
shutdown_chan: IpcSender<()>,
|
||||
content_process_shutdown_chan: IpcSender<()>,
|
||||
webrender_api_sender: Option<webrender_traits::RenderApiSender>) {
|
||||
let ConstellationChan(fail_chan) = panic_chan.clone();
|
||||
thread::spawn_named_with_send_on_panic(format!("LayoutThread {:?}", id),
|
||||
thread_state::LAYOUT,
|
||||
move || {
|
||||
|
@ -291,7 +290,7 @@ impl LayoutThreadFactory for LayoutThread {
|
|||
}
|
||||
let _ = shutdown_chan.send(());
|
||||
let _ = content_process_shutdown_chan.send(());
|
||||
}, Some(id), fail_chan);
|
||||
}, Some(id), panic_chan);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -385,7 +384,7 @@ impl LayoutThread {
|
|||
is_iframe: bool,
|
||||
port: Receiver<Msg>,
|
||||
pipeline_port: IpcReceiver<LayoutControlMsg>,
|
||||
constellation_chan: ConstellationChan<ConstellationMsg>,
|
||||
constellation_chan: IpcSender<ConstellationMsg>,
|
||||
script_chan: IpcSender<ConstellationControlMsg>,
|
||||
paint_chan: OptionalIpcSender<LayoutToPaintMsg>,
|
||||
image_cache_thread: ImageCacheThread,
|
||||
|
@ -1080,9 +1079,9 @@ impl LayoutThread {
|
|||
if viewport_size_changed {
|
||||
if let Some(constraints) = constraints {
|
||||
// let the constellation know about the viewport constraints
|
||||
let ConstellationChan(ref constellation_chan) = rw_data.constellation_chan;
|
||||
constellation_chan.send(ConstellationMsg::ViewportConstrained(
|
||||
self.id, constraints)).unwrap();
|
||||
rw_data.constellation_chan
|
||||
.send(ConstellationMsg::ViewportConstrained(self.id, constraints))
|
||||
.unwrap();
|
||||
}
|
||||
// FIXME (#10104): Only dirty nodes affected by vh/vw/vmin/vmax styles.
|
||||
if data.document_stylesheets.iter().any(|sheet| sheet.dirty_on_viewport_size_change) {
|
||||
|
|
|
@ -15,7 +15,6 @@ use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo};
|
|||
use gfx::display_list::OpaqueNode;
|
||||
use gfx_traits::{LayerId};
|
||||
use layout_thread::LayoutThreadData;
|
||||
use msg::constellation_msg::ConstellationChan;
|
||||
use opaque_node::OpaqueNodeMethods;
|
||||
use script::layout_interface::{ContentBoxResponse, NodeOverflowResponse, ContentBoxesResponse, NodeGeometryResponse};
|
||||
use script::layout_interface::{HitTestResponse, LayoutRPC, OffsetParentResponse, NodeLayerIdResponse};
|
||||
|
@ -79,8 +78,7 @@ impl LayoutRPC for LayoutRPCImpl {
|
|||
None => Cursor::DefaultCursor,
|
||||
Some(dim) => dim.pointing.unwrap(),
|
||||
};
|
||||
let ConstellationChan(ref constellation_chan) = rw_data.constellation_chan;
|
||||
constellation_chan.send(ConstellationMsg::SetCursor(cursor)).unwrap();
|
||||
rw_data.constellation_chan.send(ConstellationMsg::SetCursor(cursor)).unwrap();
|
||||
}
|
||||
HitTestResponse {
|
||||
node_address: result.map(|dim| dim.node.to_untrusted_node_address()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue