aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/constellation/constellation.rs389
-rw-r--r--components/constellation/pipeline.rs55
-rw-r--r--components/net/resource_thread.rs16
-rw-r--r--components/servo/lib.rs16
4 files changed, 253 insertions, 223 deletions
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index 88c0af2e202..8ada8aa654d 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -282,7 +282,7 @@ pub struct Constellation<Message, LTF, STF, SWF> {
/// to facilitate installing pipeline namespaces in threads
/// via a per-process installer.
namespace_receiver: Receiver<Result<PipelineNamespaceRequest, IpcError>>,
- namespace_sender: IpcSender<PipelineNamespaceRequest>,
+ namespace_ipc_sender: IpcSender<PipelineNamespaceRequest>,
/// An IPC channel for script threads to send messages to the constellation.
/// This is the script threads' view of `script_receiver`.
@@ -358,11 +358,11 @@ pub struct Constellation<Message, LTF, STF, SWF> {
/// A channel for the constellation to send messages to the
/// devtools thread.
- devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<DevtoolsControlMsg>>,
/// An IPC channel for the constellation to send messages to the
/// bluetooth thread.
- bluetooth_thread: IpcSender<BluetoothRequest>,
+ bluetooth_ipc_sender: IpcSender<BluetoothRequest>,
/// A map of origin to sender to a Service worker manager.
sw_managers: HashMap<ImmutableOrigin, IpcSender<ServiceWorkerMsg>>,
@@ -370,7 +370,7 @@ pub struct Constellation<Message, LTF, STF, SWF> {
/// An IPC channel for Service Worker Manager threads to send
/// messages to the constellation. This is the SW Manager thread's
/// view of `swmanager_receiver`.
- swmanager_sender: IpcSender<SWManagerMsg>,
+ swmanager_ipc_sender: IpcSender<SWManagerMsg>,
/// A channel for the constellation to receive messages from the
/// Service Worker Manager thread. This is the constellation's view of
@@ -386,7 +386,7 @@ pub struct Constellation<Message, LTF, STF, SWF> {
mem_profiler_chan: mem::ProfilerChan,
/// A channel for a pipeline to schedule timer events.
- scheduler_chan: IpcSender<TimerSchedulerMsg>,
+ scheduler_ipc_sender: IpcSender<TimerSchedulerMsg>,
/// The receiver to which the IPC requests from scheduler_chan will be forwarded.
scheduler_receiver: Receiver<Result<TimerSchedulerMsg, IpcError>>,
@@ -476,9 +476,9 @@ pub struct Constellation<Message, LTF, STF, SWF> {
webxr_registry: webxr_api::Registry,
/// A channel through which messages can be sent to the canvas paint thread.
- canvas_chan: Sender<ConstellationCanvasMsg>,
+ canvas_sender: Sender<ConstellationCanvasMsg>,
- ipc_canvas_chan: IpcSender<CanvasMsg>,
+ canvas_ipc_sender: IpcSender<CanvasMsg>,
/// Navigation requests from script awaiting approval from the embedder.
pending_approval_navigations: PendingApprovalNavigations,
@@ -523,7 +523,7 @@ pub struct InitialConstellationState {
pub compositor_proxy: CompositorProxy,
/// A channel to the developer tools, if applicable.
- pub devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ pub devtools_sender: Option<Sender<DevtoolsControlMsg>>,
/// A channel to the bluetooth thread.
pub bluetooth_thread: IpcSender<BluetoothRequest>,
@@ -613,21 +613,19 @@ enum ExitPipelineMode {
/// The number of warnings to include in each crash report.
const WARNINGS_BUFFER_SIZE: usize = 32;
-/// Route an ipc receiver to an mpsc receiver, preserving any errors.
-/// This is the same as `route_ipc_receiver_to_new_mpsc_receiver`,
-/// but does not panic on deserializtion errors.
-fn route_ipc_receiver_to_new_mpsc_receiver_preserving_errors<T>(
+/// Route an ipc receiver to an crossbeam receiver, preserving any errors.
+fn route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors<T>(
ipc_receiver: IpcReceiver<T>,
) -> Receiver<Result<T, IpcError>>
where
T: for<'de> Deserialize<'de> + Serialize + Send + 'static,
{
- let (mpsc_sender, mpsc_receiver) = unbounded();
+ let (crossbeam_sender, crossbeam_receiver) = unbounded();
ROUTER.add_route(
ipc_receiver.to_opaque(),
- Box::new(move |message| drop(mpsc_sender.send(message.to::<T>()))),
+ Box::new(move |message| drop(crossbeam_sender.send(message.to::<T>()))),
);
- mpsc_receiver
+ crossbeam_receiver
}
impl<Message, LTF, STF, SWF> Constellation<Message, LTF, STF, SWF>
@@ -645,66 +643,80 @@ where
is_running_problem_test: bool,
hard_fail: bool,
enable_canvas_antialiasing: bool,
- canvas_chan: Sender<ConstellationCanvasMsg>,
- ipc_canvas_chan: IpcSender<CanvasMsg>,
+ canvas_create_sender: Sender<ConstellationCanvasMsg>,
+ canvas_ipc_sender: IpcSender<CanvasMsg>,
) -> Sender<FromCompositorMsg> {
let (compositor_sender, compositor_receiver) = unbounded();
// service worker manager to communicate with constellation
- let (swmanager_sender, swmanager_receiver) = ipc::channel().expect("ipc channel failure");
+ let (swmanager_ipc_sender, swmanager_ipc_receiver) =
+ ipc::channel().expect("ipc channel failure");
thread::Builder::new()
.name("Constellation".to_owned())
.spawn(move || {
- let (ipc_script_sender, ipc_script_receiver) =
+ let (script_ipc_sender, script_ipc_receiver) =
ipc::channel().expect("ipc channel failure");
let script_receiver =
- route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(ipc_script_receiver);
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ script_ipc_receiver,
+ );
- let (namespace_sender, ipc_namespace_receiver) =
+ let (namespace_ipc_sender, namespace_ipc_receiver) =
ipc::channel().expect("ipc channel failure");
- let namespace_receiver = route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(
- ipc_namespace_receiver,
- );
+ let namespace_receiver =
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ namespace_ipc_receiver,
+ );
- let (scheduler_chan, ipc_scheduler_receiver) =
+ let (scheduler_ipc_sender, scheduler_ipc_receiver) =
ipc::channel().expect("ipc channel failure");
- let scheduler_receiver = route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(
- ipc_scheduler_receiver,
- );
+ let scheduler_receiver =
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ scheduler_ipc_receiver,
+ );
- let (background_hang_monitor_sender, ipc_bhm_receiver) =
+ let (background_hang_monitor_ipc_sender, background_hang_monitor_ipc_receiver) =
ipc::channel().expect("ipc channel failure");
let background_hang_monitor_receiver =
- route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(ipc_bhm_receiver);
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ background_hang_monitor_ipc_receiver,
+ );
// If we are in multiprocess mode,
// a dedicated per-process hang monitor will be initialized later inside the content process.
// See run_content_process in servo/lib.rs
- let (background_monitor_register, bhm_control_chans) = if opts::multiprocess() {
- (None, vec![])
- } else {
- let (bhm_control_chan, bhm_control_port) =
- ipc::channel().expect("ipc channel failure");
- (
- Some(HangMonitorRegister::init(
- background_hang_monitor_sender.clone(),
- bhm_control_port,
- opts::get().background_hang_monitor,
- )),
- vec![bhm_control_chan],
- )
- };
+ let (background_monitor_register, background_hang_monitor_control_ipc_senders) =
+ if opts::multiprocess() {
+ (None, vec![])
+ } else {
+ let (
+ background_hang_monitor_control_ipc_sender,
+ background_hang_monitor_control_ipc_receiver,
+ ) = ipc::channel().expect("ipc channel failure");
+ (
+ Some(HangMonitorRegister::init(
+ background_hang_monitor_ipc_sender.clone(),
+ background_hang_monitor_control_ipc_receiver,
+ opts::get().background_hang_monitor,
+ )),
+ vec![background_hang_monitor_control_ipc_sender],
+ )
+ };
- let (ipc_layout_sender, ipc_layout_receiver) =
+ let (layout_ipc_sender, layout_ipc_receiver) =
ipc::channel().expect("ipc channel failure");
let layout_receiver =
- route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(ipc_layout_receiver);
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ layout_ipc_receiver,
+ );
let (network_listener_sender, network_listener_receiver) = unbounded();
let swmanager_receiver =
- route_ipc_receiver_to_new_mpsc_receiver_preserving_errors(swmanager_receiver);
+ route_ipc_receiver_to_new_crossbeam_receiver_preserving_errors(
+ swmanager_ipc_receiver,
+ );
// Zero is reserved for the embedder.
PipelineNamespace::install(PipelineNamespaceId(1));
@@ -742,13 +754,13 @@ where
let mut constellation: Constellation<Message, LTF, STF, SWF> = Constellation {
namespace_receiver,
- namespace_sender,
- script_sender: ipc_script_sender,
- background_hang_monitor_sender,
+ namespace_ipc_sender,
+ script_sender: script_ipc_sender,
+ background_hang_monitor_sender: background_hang_monitor_ipc_sender,
background_hang_monitor_receiver,
background_monitor_register,
- background_monitor_control_senders: bhm_control_chans,
- layout_sender: ipc_layout_sender,
+ background_monitor_control_senders: background_hang_monitor_control_ipc_senders,
+ layout_sender: layout_ipc_sender,
script_receiver: script_receiver,
compositor_receiver: compositor_receiver,
layout_receiver: layout_receiver,
@@ -758,14 +770,14 @@ where
compositor_proxy: state.compositor_proxy,
active_browser_id: None,
browsers: HashMap::new(),
- devtools_chan: state.devtools_chan,
- bluetooth_thread: state.bluetooth_thread,
+ devtools_sender: state.devtools_sender,
+ bluetooth_ipc_sender: state.bluetooth_thread,
public_resource_threads: state.public_resource_threads,
private_resource_threads: state.private_resource_threads,
font_cache_thread: state.font_cache_thread,
sw_managers: Default::default(),
swmanager_receiver: swmanager_receiver,
- swmanager_sender,
+ swmanager_ipc_sender,
browsing_context_group_set: Default::default(),
browsing_context_group_next_id: Default::default(),
message_ports: HashMap::new(),
@@ -784,7 +796,7 @@ where
phantom: PhantomData,
webdriver: WebDriverData::new(),
timer_scheduler: TimerScheduler::new(),
- scheduler_chan,
+ scheduler_ipc_sender,
scheduler_receiver,
document_states: HashMap::new(),
webrender_document: state.webrender_document,
@@ -806,8 +818,8 @@ where
}),
webgl_threads: state.webgl_threads,
webxr_registry: state.webxr_registry,
- canvas_chan,
- ipc_canvas_chan,
+ canvas_sender: canvas_create_sender,
+ canvas_ipc_sender,
pending_approval_navigations: HashMap::new(),
pressed_mouse_buttons: 0,
is_running_problem_test,
@@ -1034,18 +1046,18 @@ where
sender: self.script_sender.clone(),
pipeline_id: pipeline_id,
},
- namespace_request_sender: self.namespace_sender.clone(),
+ namespace_request_sender: self.namespace_ipc_sender.clone(),
pipeline_namespace_id: self.next_pipeline_namespace_id(),
background_monitor_register: self.background_monitor_register.clone(),
background_hang_monitor_to_constellation_chan: self
.background_hang_monitor_sender
.clone(),
layout_to_constellation_chan: self.layout_sender.clone(),
- scheduler_chan: self.scheduler_chan.clone(),
+ scheduler_chan: self.scheduler_ipc_sender.clone(),
compositor_proxy: self.compositor_proxy.clone(),
- devtools_chan: self.devtools_chan.clone(),
- bluetooth_thread: self.bluetooth_thread.clone(),
- swmanager_thread: self.swmanager_sender.clone(),
+ devtools_sender: self.devtools_sender.clone(),
+ bluetooth_thread: self.bluetooth_ipc_sender.clone(),
+ swmanager_thread: self.swmanager_ipc_sender.clone(),
font_cache_thread: self.font_cache_thread.clone(),
resource_threads,
time_profiler_chan: self.time_profiler_chan.clone(),
@@ -1346,11 +1358,11 @@ where
FromCompositorMsg::Exit => {
self.handle_exit();
},
- FromCompositorMsg::GetBrowsingContext(pipeline_id, resp_chan) => {
- self.handle_get_browsing_context(pipeline_id, resp_chan);
+ FromCompositorMsg::GetBrowsingContext(pipeline_id, response_sender) => {
+ self.handle_get_browsing_context(pipeline_id, response_sender);
},
- FromCompositorMsg::GetPipeline(browsing_context_id, resp_chan) => {
- self.handle_get_pipeline(browsing_context_id, resp_chan);
+ FromCompositorMsg::GetPipeline(browsing_context_id, response_sender) => {
+ self.handle_get_pipeline(browsing_context_id, response_sender);
},
FromCompositorMsg::GetFocusTopLevelBrowsingContext(resp_chan) => {
// The focused browsing context's top-level browsing context is
@@ -1513,18 +1525,19 @@ where
},
FromCompositorMsg::SetCursor(cursor) => self.handle_set_cursor_msg(cursor),
FromCompositorMsg::EnableProfiler(rate, max_duration) => {
- for chan in &self.background_monitor_control_senders {
- if let Err(e) = chan.send(BackgroundHangMonitorControlMsg::EnableSampler(
- rate,
- max_duration,
- )) {
+ for background_monitor_control_sender in &self.background_monitor_control_senders {
+ if let Err(e) = background_monitor_control_sender.send(
+ BackgroundHangMonitorControlMsg::EnableSampler(rate, max_duration),
+ ) {
warn!("error communicating with sampling profiler: {}", e);
}
}
},
FromCompositorMsg::DisableProfiler => {
- for chan in &self.background_monitor_control_senders {
- if let Err(e) = chan.send(BackgroundHangMonitorControlMsg::DisableSampler) {
+ for background_monitor_control_sender in &self.background_monitor_control_senders {
+ if let Err(e) = background_monitor_control_sender
+ .send(BackgroundHangMonitorControlMsg::DisableSampler)
+ {
warn!("error communicating with sampling profiler: {}", e);
}
}
@@ -1586,11 +1599,11 @@ where
FromScriptMsg::EntanglePorts(port1, port2) => {
self.handle_entangle_messageports(port1, port2);
},
- FromScriptMsg::NewBroadcastChannelRouter(router_id, ipc_sender, origin) => {
+ FromScriptMsg::NewBroadcastChannelRouter(router_id, response_sender, origin) => {
self.handle_new_broadcast_channel_router(
source_pipeline_id,
router_id,
- ipc_sender,
+ response_sender,
origin,
);
},
@@ -1636,11 +1649,11 @@ where
FromScriptMsg::ScriptLoadedURLInIFrame(load_info) => {
self.handle_script_loaded_url_in_iframe_msg(load_info);
},
- FromScriptMsg::ScriptNewIFrame(load_info, layout_sender) => {
- self.handle_script_new_iframe(load_info, layout_sender);
+ FromScriptMsg::ScriptNewIFrame(load_info, response_sender) => {
+ self.handle_script_new_iframe(load_info, response_sender);
},
- FromScriptMsg::ScriptNewAuxiliary(load_info, layout_sender) => {
- self.handle_script_new_auxiliary(load_info, layout_sender);
+ FromScriptMsg::ScriptNewAuxiliary(load_info, response_sender) => {
+ self.handle_script_new_auxiliary(load_info, response_sender);
},
FromScriptMsg::ChangeRunningAnimationsState(animation_state) => {
self.handle_change_running_animations_state(source_pipeline_id, animation_state)
@@ -1672,8 +1685,8 @@ where
self.handle_replace_history_state_msg(source_pipeline_id, history_state_id, url);
},
// Handle a joint session history length request.
- FromScriptMsg::JointSessionHistoryLength(sender) => {
- self.handle_joint_session_history_length(source_top_ctx_id, sender);
+ FromScriptMsg::JointSessionHistoryLength(response_sender) => {
+ self.handle_joint_session_history_length(source_top_ctx_id, response_sender);
},
// Notification that the new document is ready to become active
FromScriptMsg::ActivateDocument => {
@@ -1709,29 +1722,29 @@ where
FromScriptMsg::VisibilityChangeComplete(is_visible) => {
self.handle_visibility_change_complete(source_pipeline_id, is_visible);
},
- FromScriptMsg::RemoveIFrame(browsing_context_id, sender) => {
+ FromScriptMsg::RemoveIFrame(browsing_context_id, response_sender) => {
let removed_pipeline_ids = self.handle_remove_iframe_msg(browsing_context_id);
- if let Err(e) = sender.send(removed_pipeline_ids) {
+ if let Err(e) = response_sender.send(removed_pipeline_ids) {
warn!("Error replying to remove iframe ({})", e);
}
},
- FromScriptMsg::CreateCanvasPaintThread(size, sender) => {
- self.handle_create_canvas_paint_thread_msg(size, sender)
+ FromScriptMsg::CreateCanvasPaintThread(size, response_sender) => {
+ self.handle_create_canvas_paint_thread_msg(size, response_sender)
},
FromScriptMsg::SetDocumentState(state) => {
self.document_states.insert(source_pipeline_id, state);
},
- FromScriptMsg::GetClientWindow(send) => {
+ FromScriptMsg::GetClientWindow(response_sender) => {
self.compositor_proxy
- .send(ToCompositorMsg::GetClientWindow(send));
+ .send(ToCompositorMsg::GetClientWindow(response_sender));
},
- FromScriptMsg::GetScreenSize(send) => {
+ FromScriptMsg::GetScreenSize(response_sender) => {
self.compositor_proxy
- .send(ToCompositorMsg::GetScreenSize(send));
+ .send(ToCompositorMsg::GetScreenSize(response_sender));
},
- FromScriptMsg::GetScreenAvailSize(send) => {
+ FromScriptMsg::GetScreenAvailSize(response_sender) => {
self.compositor_proxy
- .send(ToCompositorMsg::GetScreenAvailSize(send));
+ .send(ToCompositorMsg::GetScreenAvailSize(response_sender));
},
FromScriptMsg::LogEntry(thread_name, entry) => {
self.handle_log_entry(Some(source_top_ctx_id), thread_name, entry);
@@ -1739,39 +1752,43 @@ where
FromScriptMsg::TouchEventProcessed(result) => self
.compositor_proxy
.send(ToCompositorMsg::TouchEventProcessed(result)),
- FromScriptMsg::GetBrowsingContextInfo(pipeline_id, sender) => {
+ FromScriptMsg::GetBrowsingContextInfo(pipeline_id, response_sender) => {
let result = self
.pipelines
.get(&pipeline_id)
.and_then(|pipeline| self.browsing_contexts.get(&pipeline.browsing_context_id))
.map(|ctx| (ctx.id, ctx.parent_pipeline_id));
- if let Err(e) = sender.send(result) {
+ if let Err(e) = response_sender.send(result) {
warn!(
"Sending reply to get browsing context info failed ({:?}).",
e
);
}
},
- FromScriptMsg::GetTopForBrowsingContext(browsing_context_id, sender) => {
+ FromScriptMsg::GetTopForBrowsingContext(browsing_context_id, response_sender) => {
let result = self
.browsing_contexts
.get(&browsing_context_id)
.and_then(|bc| Some(bc.top_level_id));
- if let Err(e) = sender.send(result) {
+ if let Err(e) = response_sender.send(result) {
warn!(
"Sending reply to get top for browsing context info failed ({:?}).",
e
);
}
},
- FromScriptMsg::GetChildBrowsingContextId(browsing_context_id, index, sender) => {
+ FromScriptMsg::GetChildBrowsingContextId(
+ browsing_context_id,
+ index,
+ response_sender,
+ ) => {
let result = self
.browsing_contexts
.get(&browsing_context_id)
.and_then(|bc| self.pipelines.get(&bc.pipeline_id))
.and_then(|pipeline| pipeline.children.get(index))
.map(|maybe_bcid| *maybe_bcid);
- if let Err(e) = sender.send(result) {
+ if let Err(e) = response_sender.send(result) {
warn!(
"Sending reply to get child browsing context ID failed ({:?}).",
e
@@ -1823,15 +1840,16 @@ where
EmbedderMsg::MediaSessionEvent(event),
));
},
- FromScriptMsg::RequestAdapter(sender, options, ids) => self.handle_wgpu_request(
- source_pipeline_id,
- BrowsingContextId::from(source_top_ctx_id),
- FromScriptMsg::RequestAdapter(sender, options, ids),
- ),
- FromScriptMsg::GetWebGPUChan(sender) => self.handle_wgpu_request(
+ FromScriptMsg::RequestAdapter(response_sender, options, ids) => self
+ .handle_wgpu_request(
+ source_pipeline_id,
+ BrowsingContextId::from(source_top_ctx_id),
+ FromScriptMsg::RequestAdapter(response_sender, options, ids),
+ ),
+ FromScriptMsg::GetWebGPUChan(response_sender) => self.handle_wgpu_request(
source_pipeline_id,
BrowsingContextId::from(source_top_ctx_id),
- FromScriptMsg::GetWebGPUChan(sender),
+ FromScriptMsg::GetWebGPUChan(response_sender),
),
FromScriptMsg::TitleChanged(pipeline, title) => {
if let Some(pipeline) = self.pipelines.get_mut(&pipeline) {
@@ -1889,8 +1907,8 @@ where
continue;
}
- if let Some(sender) = self.broadcast_routers.get(&router) {
- if sender.send(message.clone()).is_err() {
+ if let Some(broadcast_ipc_sender) = self.broadcast_routers.get(&router) {
+ if broadcast_ipc_sender.send(message.clone()).is_err() {
warn!("Failed to broadcast message to router: {:?}", router);
}
} else {
@@ -1987,7 +2005,7 @@ where
&mut self,
pipeline_id: PipelineId,
router_id: BroadcastChannelRouterId,
- ipc_sender: IpcSender<BroadcastMsg>,
+ broadcast_ipc_sender: IpcSender<BroadcastMsg>,
origin: ImmutableOrigin,
) {
if self
@@ -1998,7 +2016,7 @@ where
}
if self
.broadcast_routers
- .insert(router_id, ipc_sender)
+ .insert(router_id, broadcast_ipc_sender)
.is_some()
{
warn!("Multple attempt to add broadcast-channel router.");
@@ -2059,9 +2077,9 @@ where
Entry::Occupied(o) => o.get().clone(),
};
match request {
- FromScriptMsg::RequestAdapter(sender, options, ids) => {
+ FromScriptMsg::RequestAdapter(response_sender, options, ids) => {
let adapter_request = WebGPURequest::RequestAdapter {
- sender,
+ sender: response_sender,
options,
ids,
};
@@ -2069,8 +2087,8 @@ where
return warn!("Failed to send request adapter message on WebGPU channel");
}
},
- FromScriptMsg::GetWebGPUChan(sender) => {
- if sender.send(webgpu_chan).is_err() {
+ FromScriptMsg::GetWebGPUChan(response_sender) => {
+ if response_sender.send(webgpu_chan).is_err() {
return warn!(
"Failed to send WebGPU channel to Pipeline {:?}",
source_pipeline_id
@@ -2127,8 +2145,8 @@ where
TransferState::EntangledRemoved => {
// If the entangled port has been removed while this one was in-transfer,
// remove it now.
- if let Some(sender) = self.message_port_routers.get(&router_id) {
- let _ = sender.send(MessagePortMsg::RemoveMessagePort(port_id));
+ if let Some(ipc_sender) = self.message_port_routers.get(&router_id) {
+ let _ = ipc_sender.send(MessagePortMsg::RemoveMessagePort(port_id));
} else {
warn!("No message-port sender for {:?}", router_id);
}
@@ -2207,8 +2225,8 @@ where
current_buffer.push_front(task);
}
// Forward the buffered message-queue to complete the current transfer.
- if let Some(sender) = self.message_port_routers.get(&target_router_id) {
- if sender
+ if let Some(ipc_sender) = self.message_port_routers.get(&target_router_id) {
+ if ipc_sender
.send(MessagePortMsg::CompletePendingTransfer(
port_id,
current_buffer,
@@ -2257,8 +2275,8 @@ where
TransferState::EntangledRemoved => {
// If the entangled port has been removed while this one was in-transfer,
// remove it now.
- if let Some(sender) = self.message_port_routers.get(&router_id) {
- let _ = sender.send(MessagePortMsg::RemoveMessagePort(port_id));
+ if let Some(ipc_sender) = self.message_port_routers.get(&router_id) {
+ let _ = ipc_sender.send(MessagePortMsg::RemoveMessagePort(port_id));
} else {
warn!("No message-port sender for {:?}", router_id);
}
@@ -2303,8 +2321,8 @@ where
if !response.is_empty() {
// Forward the buffered message-queue.
- if let Some(sender) = self.message_port_routers.get(&router_id) {
- if sender
+ if let Some(ipc_sender) = self.message_port_routers.get(&router_id) {
+ if ipc_sender
.send(MessagePortMsg::CompleteTransfer(response))
.is_err()
{
@@ -2331,8 +2349,8 @@ where
// In both the managed and completion of a transfer case, we forward the message.
// Note that in both cases, if the port is transferred before the message is handled,
// it will be sent back here and buffered while the transfer is ongoing.
- if let Some(sender) = self.message_port_routers.get(&router_id) {
- let _ = sender.send(MessagePortMsg::NewTask(port_id, task));
+ if let Some(ipc_sender) = self.message_port_routers.get(&router_id) {
+ let _ = ipc_sender.send(MessagePortMsg::NewTask(port_id, task));
} else {
warn!("No message-port sender for {:?}", router_id);
}
@@ -2374,9 +2392,10 @@ where
fn handle_new_messageport_router(
&mut self,
router_id: MessagePortRouterId,
- control_sender: IpcSender<MessagePortMsg>,
+ message_port_ipc_sender: IpcSender<MessagePortMsg>,
) {
- self.message_port_routers.insert(router_id, control_sender);
+ self.message_port_routers
+ .insert(router_id, message_port_ipc_sender);
}
fn handle_remove_messageport_router(&mut self, router_id: MessagePortRouterId) {
@@ -2491,7 +2510,7 @@ where
let (own_sender, receiver) = ipc::channel().expect("Failed to create IPC channel!");
let sw_senders = SWManagerSenders {
- swmanager_sender: self.swmanager_sender.clone(),
+ swmanager_sender: self.swmanager_ipc_sender.clone(),
resource_sender: self.public_resource_threads.sender(),
own_sender: own_sender.clone(),
receiver,
@@ -2555,13 +2574,13 @@ where
// even when currently hanging(on JS or sync XHR).
// This must be done before starting the process of closing all pipelines.
for chan in &self.background_monitor_control_senders {
- let (exit_sender, exit_receiver) =
+ let (exit_ipc_sender, exit_ipc_receiver) =
ipc::channel().expect("Failed to create IPC channel!");
- if let Err(e) = chan.send(BackgroundHangMonitorControlMsg::Exit(exit_sender)) {
+ if let Err(e) = chan.send(BackgroundHangMonitorControlMsg::Exit(exit_ipc_sender)) {
warn!("error communicating with bhm: {}", e);
continue;
}
- if exit_receiver.recv().is_err() {
+ if exit_ipc_receiver.recv().is_err() {
warn!("Failed to receive exit confirmation from BHM.");
}
}
@@ -2623,19 +2642,20 @@ where
// At this point, there are no active pipelines,
// so we can safely block on other threads, without worrying about deadlock.
// Channels to receive signals when threads are done exiting.
- let (core_sender, core_receiver) = ipc::channel().expect("Failed to create IPC channel!");
- let (storage_sender, storage_receiver) =
+ let (core_ipc_sender, core_ipc_receiver) =
+ ipc::channel().expect("Failed to create IPC channel!");
+ let (storage_ipc_sender, storage_ipc_receiver) =
ipc::channel().expect("Failed to create IPC channel!");
debug!("Exiting core resource threads.");
if let Err(e) = self
.public_resource_threads
- .send(net_traits::CoreResourceMsg::Exit(core_sender))
+ .send(net_traits::CoreResourceMsg::Exit(core_ipc_sender))
{
warn!("Exit resource thread failed ({})", e);
}
- if let Some(ref chan) = self.devtools_chan {
+ if let Some(ref chan) = self.devtools_sender {
debug!("Exiting devtools.");
let msg = DevtoolsControlMsg::FromChrome(ChromeToDevtoolsControlMsg::ServerExitMsg);
if let Err(e) = chan.send(msg) {
@@ -2646,13 +2666,13 @@ where
debug!("Exiting storage resource threads.");
if let Err(e) = self
.public_resource_threads
- .send(StorageThreadMsg::Exit(storage_sender))
+ .send(StorageThreadMsg::Exit(storage_ipc_sender))
{
warn!("Exit storage thread failed ({})", e);
}
debug!("Exiting bluetooth thread.");
- if let Err(e) = self.bluetooth_thread.send(BluetoothRequest::Exit) {
+ if let Err(e) = self.bluetooth_ipc_sender.send(BluetoothRequest::Exit) {
warn!("Exit bluetooth thread failed ({})", e);
}
@@ -2664,7 +2684,7 @@ where
}
debug!("Exiting Canvas Paint thread.");
- if let Err(e) = self.canvas_chan.send(ConstellationCanvasMsg::Exit) {
+ if let Err(e) = self.canvas_sender.send(ConstellationCanvasMsg::Exit) {
warn!("Exit Canvas Paint thread failed ({})", e);
}
@@ -2710,10 +2730,10 @@ where
self.font_cache_thread.exit();
// Receive exit signals from threads.
- if let Err(e) = core_receiver.recv() {
+ if let Err(e) = core_ipc_receiver.recv() {
warn!("Exit resource thread failed ({:?})", e);
}
- if let Err(e) = storage_receiver.recv() {
+ if let Err(e) = storage_ipc_receiver.recv() {
warn!("Exit storage thread failed ({:?})", e);
}
@@ -2821,9 +2841,9 @@ where
is_visible,
);
self.add_pending_change(SessionHistoryChange {
- top_level_browsing_context_id: top_level_browsing_context_id,
- browsing_context_id: browsing_context_id,
- new_pipeline_id: new_pipeline_id,
+ top_level_browsing_context_id,
+ browsing_context_id,
+ new_pipeline_id,
replace: None,
new_browsing_context_info: None,
window_size,
@@ -2959,15 +2979,15 @@ where
is_visible,
);
self.add_pending_change(SessionHistoryChange {
- top_level_browsing_context_id: top_level_browsing_context_id,
- browsing_context_id: browsing_context_id,
+ top_level_browsing_context_id,
+ browsing_context_id,
new_pipeline_id: pipeline_id,
replace: None,
new_browsing_context_info: Some(NewBrowsingContextInfo {
parent_pipeline_id: None,
- is_private: is_private,
+ is_private,
inherited_secure_context: None,
- is_visible: is_visible,
+ is_visible,
}),
window_size,
});
@@ -3221,14 +3241,14 @@ where
assert!(!self.pipelines.contains_key(&new_pipeline_id));
self.pipelines.insert(new_pipeline_id, pipeline);
self.add_pending_change(SessionHistoryChange {
- top_level_browsing_context_id: top_level_browsing_context_id,
- browsing_context_id: browsing_context_id,
- new_pipeline_id: new_pipeline_id,
+ top_level_browsing_context_id,
+ browsing_context_id,
+ new_pipeline_id,
replace: None,
// Browsing context for iframe doesn't exist yet.
new_browsing_context_info: Some(NewBrowsingContextInfo {
parent_pipeline_id: Some(parent_pipeline_id),
- is_private: is_private,
+ is_private,
inherited_secure_context: is_parent_secure,
is_visible: is_parent_visible,
}),
@@ -3313,7 +3333,7 @@ where
self.add_pending_change(SessionHistoryChange {
top_level_browsing_context_id: new_top_level_browsing_context_id,
browsing_context_id: new_browsing_context_id,
- new_pipeline_id: new_pipeline_id,
+ new_pipeline_id,
replace: None,
new_browsing_context_info: Some(NewBrowsingContextInfo {
// Auxiliary browsing contexts are always top-level.
@@ -3816,8 +3836,8 @@ where
);
self.add_pending_change(SessionHistoryChange {
top_level_browsing_context_id: top_level_id,
- browsing_context_id: browsing_context_id,
- new_pipeline_id: new_pipeline_id,
+ browsing_context_id,
+ new_pipeline_id,
replace: Some(NeedsToReload::Yes(pipeline_id, load_data)),
// Browsing context must exist at this point.
new_browsing_context_info: None,
@@ -3850,7 +3870,7 @@ where
old_pipeline.notify_visibility(false);
}
if let Some(new_pipeline) = self.pipelines.get(&new_pipeline_id) {
- if let Some(ref chan) = self.devtools_chan {
+ if let Some(ref chan) = self.devtools_sender {
let state = NavigationState::Start(new_pipeline.url.clone());
let _ = chan.send(DevtoolsControlMsg::FromScript(
ScriptToDevtoolsControlMsg::Navigate(browsing_context_id, state),
@@ -3926,14 +3946,14 @@ where
fn handle_joint_session_history_length(
&self,
top_level_browsing_context_id: TopLevelBrowsingContextId,
- sender: IpcSender<u32>,
+ response_sender: IpcSender<u32>,
) {
let length = self
.browsers
.get(&top_level_browsing_context_id)
.map(|browser| browser.session_history.history_length())
.unwrap_or(1);
- let _ = sender.send(length as u32);
+ let _ = response_sender.send(length as u32);
}
fn handle_push_history_state_msg(
@@ -3968,7 +3988,7 @@ where
new_history_state_id: history_state_id,
new_url: url,
old_history_state_id: old_state_id,
- old_url: old_url,
+ old_url,
};
self.get_joint_session_history(top_level_browsing_context_id)
.push_diff(diff);
@@ -4114,7 +4134,7 @@ where
let msg = ConstellationControlMsg::PostMessage {
target: pipeline_id,
source: source_pipeline,
- source_browsing_context: source_browsing_context,
+ source_browsing_context,
target_origin: origin,
source_origin,
data,
@@ -4131,7 +4151,7 @@ where
fn handle_get_pipeline(
&mut self,
browsing_context_id: BrowsingContextId,
- resp_chan: IpcSender<Option<PipelineId>>,
+ response_sender: IpcSender<Option<PipelineId>>,
) {
let current_pipeline_id = self
.browsing_contexts
@@ -4144,7 +4164,7 @@ where
.find(|x| x.browsing_context_id == browsing_context_id)
.map(|x| x.new_pipeline_id)
.or(current_pipeline_id);
- if let Err(e) = resp_chan.send(pipeline_id_loaded) {
+ if let Err(e) = response_sender.send(pipeline_id_loaded) {
warn!("Failed get_pipeline response ({}).", e);
}
}
@@ -4152,13 +4172,13 @@ where
fn handle_get_browsing_context(
&mut self,
pipeline_id: PipelineId,
- resp_chan: IpcSender<Option<BrowsingContextId>>,
+ response_sender: IpcSender<Option<BrowsingContextId>>,
) {
let browsing_context_id = self
.pipelines
.get(&pipeline_id)
.map(|pipeline| pipeline.browsing_context_id);
- if let Err(e) = resp_chan.send(browsing_context_id) {
+ if let Err(e) = response_sender.send(browsing_context_id) {
warn!("Failed get_browsing_context response ({}).", e);
}
}
@@ -4277,7 +4297,7 @@ where
) {
let (canvas_id_sender, canvas_id_receiver) = unbounded();
- if let Err(e) = self.canvas_chan.send(ConstellationCanvasMsg::Create {
+ if let Err(e) = self.canvas_sender.send(ConstellationCanvasMsg::Create {
id_sender: canvas_id_sender,
size,
antialias: self.enable_canvas_antialiasing,
@@ -4288,7 +4308,7 @@ where
Ok(canvas_id) => canvas_id,
Err(e) => return warn!("Create canvas paint thread id response failed ({})", e),
};
- if let Err(e) = response_sender.send((self.ipc_canvas_chan.clone(), canvas_id)) {
+ if let Err(e) = response_sender.send((self.canvas_ipc_sender.clone(), canvas_id)) {
warn!("Create canvas paint thread response failed ({})", e);
}
}
@@ -4297,25 +4317,33 @@ where
// Find the script channel for the given parent pipeline,
// and pass the event to that script thread.
match msg {
- WebDriverCommandMsg::GetWindowSize(_, reply) => {
- let _ = reply.send(self.window_size);
+ WebDriverCommandMsg::GetWindowSize(_, response_sender) => {
+ let _ = response_sender.send(self.window_size);
},
- WebDriverCommandMsg::SetWindowSize(top_level_browsing_context_id, size, reply) => {
- self.webdriver.resize_channel = Some(reply);
+ WebDriverCommandMsg::SetWindowSize(
+ top_level_browsing_context_id,
+ size,
+ response_sender,
+ ) => {
+ self.webdriver.resize_channel = Some(response_sender);
self.embedder_proxy.send((
Some(top_level_browsing_context_id),
EmbedderMsg::ResizeTo(size),
));
},
- WebDriverCommandMsg::LoadUrl(top_level_browsing_context_id, load_data, reply) => {
+ WebDriverCommandMsg::LoadUrl(
+ top_level_browsing_context_id,
+ load_data,
+ response_sender,
+ ) => {
self.load_url_for_webdriver(
top_level_browsing_context_id,
load_data,
- reply,
+ response_sender,
HistoryEntryReplacement::Disabled,
);
},
- WebDriverCommandMsg::Refresh(top_level_browsing_context_id, reply) => {
+ WebDriverCommandMsg::Refresh(top_level_browsing_context_id, response_sender) => {
let browsing_context_id = BrowsingContextId::from(top_level_browsing_context_id);
let pipeline_id = match self.browsing_contexts.get(&browsing_context_id) {
Some(browsing_context) => browsing_context.pipeline_id,
@@ -4333,7 +4361,7 @@ where
self.load_url_for_webdriver(
top_level_browsing_context_id,
load_data,
- reply,
+ response_sender,
HistoryEntryReplacement::Enabled,
);
},
@@ -4422,9 +4450,9 @@ where
self.compositor_proxy
.send(ToCompositorMsg::WebDriverMouseMoveEvent(x, y));
},
- WebDriverCommandMsg::TakeScreenshot(_, rect, reply) => {
+ WebDriverCommandMsg::TakeScreenshot(_, rect, response_sender) => {
self.compositor_proxy
- .send(ToCompositorMsg::CreatePng(rect, reply));
+ .send(ToCompositorMsg::CreatePng(rect, response_sender));
},
}
}
@@ -4578,7 +4606,7 @@ where
&mut self,
top_level_browsing_context_id: TopLevelBrowsingContextId,
load_data: LoadData,
- reply: IpcSender<webdriver_msg::LoadStatus>,
+ response_sender: IpcSender<webdriver_msg::LoadStatus>,
replace: HistoryEntryReplacement,
) {
let browsing_context_id = BrowsingContextId::from(top_level_browsing_context_id);
@@ -4597,7 +4625,7 @@ where
load_data,
replace,
) {
- self.webdriver.load_channel = Some((new_pipeline_id, reply));
+ self.webdriver.load_channel = Some((new_pipeline_id, response_sender));
}
}
@@ -4890,8 +4918,8 @@ where
let browsing_context_id = BrowsingContextId::from(top_level_browsing_context_id);
self.resize_browsing_context(new_size, size_type, browsing_context_id);
- if let Some(resize_channel) = self.webdriver.resize_channel.take() {
- let _ = resize_channel.send(new_size);
+ if let Some(response_sender) = self.webdriver.resize_channel.take() {
+ let _ = response_sender.send(new_size);
}
self.window_size = new_size;
@@ -4945,7 +4973,8 @@ where
}
let (state_sender, state_receiver) = ipc::channel().expect("Failed to create IPC channel!");
- let (epoch_sender, epoch_receiver) = ipc::channel().expect("Failed to create IPC channel!");
+ let (epoch_ipc_sender, epoch_ipc_receiver) =
+ ipc::channel().expect("Failed to create IPC channel!");
// Step through the fully active browsing contexts, checking that the script
// thread is idle, and that the current epoch of the layout thread
@@ -5011,11 +5040,11 @@ where
// epoch matches what the compositor has drawn. If they match
// (and script is idle) then this pipeline won't change again
// and can be considered stable.
- let message = LayoutControlMsg::GetCurrentEpoch(epoch_sender.clone());
+ let message = LayoutControlMsg::GetCurrentEpoch(epoch_ipc_sender.clone());
if let Err(e) = pipeline.layout_chan.send(message) {
warn!("Failed to send GetCurrentEpoch ({}).", e);
}
- match epoch_receiver.recv() {
+ match epoch_ipc_receiver.recv() {
Err(e) => warn!("Failed to receive current epoch ({:?}).", e),
Ok(layout_thread_epoch) => {
if layout_thread_epoch != *compositor_epoch {
diff --git a/components/constellation/pipeline.rs b/components/constellation/pipeline.rs
index b1fcca0097e..7f2983501af 100644
--- a/components/constellation/pipeline.rs
+++ b/components/constellation/pipeline.rs
@@ -145,7 +145,7 @@ pub struct InitialPipelineState {
pub compositor_proxy: CompositorProxy,
/// A channel to the developer tools, if applicable.
- pub devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ pub devtools_sender: Option<Sender<DevtoolsControlMsg>>,
/// A channel to the bluetooth thread.
pub bluetooth_thread: IpcSender<BluetoothRequest>,
@@ -249,29 +249,30 @@ impl Pipeline {
let (script_chan, script_port) = ipc::channel().expect("Pipeline script chan");
// Route messages coming from content to devtools as appropriate.
- let script_to_devtools_chan = state.devtools_chan.as_ref().map(|devtools_chan| {
- let (script_to_devtools_chan, script_to_devtools_port) =
- ipc::channel().expect("Pipeline script to devtools chan");
- let devtools_chan = (*devtools_chan).clone();
- ROUTER.add_route(
- script_to_devtools_port.to_opaque(),
- Box::new(
- move |message| match message.to::<ScriptToDevtoolsControlMsg>() {
- Err(e) => {
- error!("Cast to ScriptToDevtoolsControlMsg failed ({}).", e)
- },
- Ok(message) => {
- if let Err(e) =
- devtools_chan.send(DevtoolsControlMsg::FromScript(message))
- {
- warn!("Sending to devtools failed ({:?})", e)
- }
- },
- },
- ),
- );
- script_to_devtools_chan
- });
+ let script_to_devtools_ipc_sender =
+ state.devtools_sender.as_ref().map(|devtools_sender| {
+ let (script_to_devtools_ipc_sender, script_to_devtools_ipc_receiver) =
+ ipc::channel().expect("Pipeline script to devtools chan");
+ let devtools_sender = (*devtools_sender).clone();
+ ROUTER.add_route(
+ script_to_devtools_ipc_receiver.to_opaque(),
+ Box::new(move |message| {
+ match message.to::<ScriptToDevtoolsControlMsg>() {
+ Err(e) => {
+ error!("Cast to ScriptToDevtoolsControlMsg failed ({}).", e)
+ },
+ Ok(message) => {
+ if let Err(e) = devtools_sender
+ .send(DevtoolsControlMsg::FromScript(message))
+ {
+ warn!("Sending to devtools failed ({:?})", e)
+ }
+ },
+ }
+ }),
+ );
+ script_to_devtools_ipc_sender
+ });
let mut unprivileged_pipeline_content = UnprivilegedPipelineContent {
id: state.id,
@@ -286,7 +287,7 @@ impl Pipeline {
.clone(),
bhm_control_port: None,
scheduler_chan: state.scheduler_chan,
- devtools_chan: script_to_devtools_chan,
+ devtools_ipc_sender: script_to_devtools_ipc_sender,
bluetooth_thread: state.bluetooth_thread,
swmanager_thread: state.swmanager_thread,
font_cache_thread: state.font_cache_thread,
@@ -496,7 +497,7 @@ pub struct UnprivilegedPipelineContent {
bhm_control_port: Option<IpcReceiver<BackgroundHangMonitorControlMsg>>,
layout_to_constellation_chan: IpcSender<LayoutMsg>,
scheduler_chan: IpcSender<TimerSchedulerMsg>,
- devtools_chan: Option<IpcSender<ScriptToDevtoolsControlMsg>>,
+ devtools_ipc_sender: Option<IpcSender<ScriptToDevtoolsControlMsg>>,
bluetooth_thread: IpcSender<BluetoothRequest>,
swmanager_thread: IpcSender<SWManagerMsg>,
font_cache_thread: FontCacheThread,
@@ -562,7 +563,7 @@ impl UnprivilegedPipelineContent {
image_cache: image_cache.clone(),
time_profiler_chan: self.time_profiler_chan.clone(),
mem_profiler_chan: self.mem_profiler_chan.clone(),
- devtools_chan: self.devtools_chan,
+ devtools_chan: self.devtools_ipc_sender,
window_size: self.window_size,
pipeline_namespace_id: self.pipeline_namespace_id,
content_process_shutdown_chan: content_process_shutdown_chan,
diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs
index 4b858eaa48f..3d656428f6b 100644
--- a/components/net/resource_thread.rs
+++ b/components/net/resource_thread.rs
@@ -55,7 +55,7 @@ use std::time::Duration;
/// Returns a tuple of (public, private) senders to the new threads.
pub fn new_resource_threads(
user_agent: Cow<'static, str>,
- devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<DevtoolsControlMsg>>,
time_profiler_chan: ProfilerChan,
mem_profiler_chan: MemProfilerChan,
embedder_proxy: EmbedderProxy,
@@ -64,7 +64,7 @@ pub fn new_resource_threads(
) -> (ResourceThreads, ResourceThreads) {
let (public_core, private_core) = new_core_resource_thread(
user_agent,
- devtools_chan,
+ devtools_sender,
time_profiler_chan,
mem_profiler_chan,
embedder_proxy,
@@ -81,7 +81,7 @@ pub fn new_resource_threads(
/// Create a CoreResourceThread
pub fn new_core_resource_thread(
user_agent: Cow<'static, str>,
- devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<DevtoolsControlMsg>>,
time_profiler_chan: ProfilerChan,
mem_profiler_chan: MemProfilerChan,
embedder_proxy: EmbedderProxy,
@@ -97,7 +97,7 @@ pub fn new_core_resource_thread(
.spawn(move || {
let resource_manager = CoreResourceManager::new(
user_agent,
- devtools_chan,
+ devtools_sender,
time_profiler_chan,
embedder_proxy,
certificate_path.clone(),
@@ -451,7 +451,7 @@ pub struct AuthCache {
pub struct CoreResourceManager {
user_agent: Cow<'static, str>,
- devtools_chan: Option<Sender<DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<DevtoolsControlMsg>>,
sw_managers: HashMap<ImmutableOrigin, IpcSender<CustomResponseMediator>>,
filemanager: FileManager,
thread_pool: Arc<CoreResourceThreadPool>,
@@ -586,7 +586,7 @@ impl CoreResourceThreadPool {
impl CoreResourceManager {
pub fn new(
user_agent: Cow<'static, str>,
- devtools_channel: Option<Sender<DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<DevtoolsControlMsg>>,
_profiler_chan: ProfilerChan,
embedder_proxy: EmbedderProxy,
certificate_path: Option<String>,
@@ -595,7 +595,7 @@ impl CoreResourceManager {
let pool_handle = Arc::new(pool);
CoreResourceManager {
user_agent: user_agent,
- devtools_chan: devtools_channel,
+ devtools_sender,
sw_managers: Default::default(),
filemanager: FileManager::new(embedder_proxy, Arc::downgrade(&pool_handle)),
thread_pool: pool_handle,
@@ -636,7 +636,7 @@ impl CoreResourceManager {
) {
let http_state = http_state.clone();
let ua = self.user_agent.clone();
- let dc = self.devtools_chan.clone();
+ let dc = self.devtools_sender.clone();
let filemanager = self.filemanager.clone();
let timing_type = match request_builder.destination {
diff --git a/components/servo/lib.rs b/components/servo/lib.rs
index 9a447f430b4..131a53e656c 100644
--- a/components/servo/lib.rs
+++ b/components/servo/lib.rs
@@ -359,7 +359,7 @@ where
);
let mem_profiler_chan = profile_mem::Profiler::create(opts.mem_profiler_period);
- let devtools_chan = if opts.devtools_server_enabled {
+ let devtools_sender = if opts.devtools_server_enabled {
Some(devtools::start_server(
opts.devtools_port,
embedder_proxy.clone(),
@@ -507,7 +507,7 @@ where
compositor_proxy.clone(),
time_profiler_chan.clone(),
mem_profiler_chan.clone(),
- devtools_chan,
+ devtools_sender,
webrender_document,
webrender_api_sender,
webxr_main_thread.registry(),
@@ -868,7 +868,7 @@ fn create_constellation(
compositor_proxy: CompositorProxy,
time_profiler_chan: time::ProfilerChan,
mem_profiler_chan: mem::ProfilerChan,
- devtools_chan: Option<Sender<devtools_traits::DevtoolsControlMsg>>,
+ devtools_sender: Option<Sender<devtools_traits::DevtoolsControlMsg>>,
webrender_document: webrender_api::DocumentId,
webrender_api_sender: webrender_api::RenderApiSender,
webxr_registry: webxr_api::Registry,
@@ -888,7 +888,7 @@ fn create_constellation(
let (public_resource_threads, private_resource_threads) = new_resource_threads(
user_agent.clone(),
- devtools_chan.clone(),
+ devtools_sender.clone(),
time_profiler_chan.clone(),
mem_profiler_chan.clone(),
embedder_proxy.clone(),
@@ -901,7 +901,7 @@ fn create_constellation(
Box::new(FontCacheWR(compositor_proxy.clone())),
);
- let (canvas_chan, ipc_canvas_chan) = CanvasPaintThread::start(
+ let (canvas_create_sender, canvas_ipc_sender) = CanvasPaintThread::start(
Box::new(CanvasWebrenderApi(compositor_proxy.clone())),
font_cache_thread.clone(),
);
@@ -909,7 +909,7 @@ fn create_constellation(
let initial_state = InitialConstellationState {
compositor_proxy,
embedder_proxy,
- devtools_chan,
+ devtools_sender,
bluetooth_thread,
font_cache_thread,
public_resource_threads,
@@ -941,8 +941,8 @@ fn create_constellation(
opts.is_running_problem_test,
opts.hard_fail,
!opts.debug.disable_canvas_antialiasing,
- canvas_chan,
- ipc_canvas_chan,
+ canvas_create_sender,
+ canvas_ipc_sender,
);
constellation_chan