mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Separate script and layout messages, issue #8843
This commit is contained in:
parent
d2e7fd8221
commit
655268d111
11 changed files with 80 additions and 27 deletions
|
@ -63,7 +63,7 @@ use net_traits::storage_task::StorageType;
|
|||
use profile_traits::mem::ProfilerChan as MemProfilerChan;
|
||||
use profile_traits::time::ProfilerChan as TimeProfilerChan;
|
||||
use script_task::ScriptChan;
|
||||
use script_traits::{ScriptMsg, TimerEventId, TimerSource, UntrustedNodeAddress};
|
||||
use script_traits::{LayoutMsg, ScriptMsg, TimerEventId, TimerSource, UntrustedNodeAddress};
|
||||
use selectors::parser::PseudoElement;
|
||||
use selectors::states::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
@ -306,6 +306,13 @@ impl JSTraceable for ConstellationChan<ScriptMsg> {
|
|||
}
|
||||
}
|
||||
|
||||
impl JSTraceable for ConstellationChan<LayoutMsg> {
|
||||
#[inline]
|
||||
fn trace(&self, _trc: *mut JSTracer) {
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
|
||||
impl JSTraceable for Box<ScriptChan + Send> {
|
||||
#[inline]
|
||||
fn trace(&self, _trc: *mut JSTracer) {
|
||||
|
|
|
@ -18,8 +18,8 @@ use msg::constellation_msg::{ConstellationChan, Failure, PipelineId};
|
|||
use msg::constellation_msg::{WindowSizeData};
|
||||
use net_traits::image_cache_task::ImageCacheTask;
|
||||
use profile_traits::mem::ReportsChan;
|
||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg, OpaqueScriptLayoutChannel};
|
||||
use script_traits::{ScriptMsg as ConstellationMsg, UntrustedNodeAddress};
|
||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg, LayoutMsg as ConstellationMsg};
|
||||
use script_traits::{OpaqueScriptLayoutChannel, UntrustedNodeAddress};
|
||||
use selectors::parser::PseudoElement;
|
||||
use std::any::Any;
|
||||
use std::sync::Arc;
|
||||
|
|
|
@ -80,7 +80,7 @@ use profile_traits::time::{self, ProfilerCategory, profile};
|
|||
use script_traits::CompositorEvent::{KeyEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent};
|
||||
use script_traits::CompositorEvent::{TouchEvent};
|
||||
use script_traits::{CompositorEvent, ConstellationControlMsg, EventResult, InitialScriptState, NewLayoutInfo};
|
||||
use script_traits::{OpaqueScriptLayoutChannel, ScriptMsg as ConstellationMsg};
|
||||
use script_traits::{LayoutMsg, OpaqueScriptLayoutChannel, ScriptMsg as ConstellationMsg};
|
||||
use script_traits::{ScriptTaskFactory, ScriptToCompositorMsg, TimerEvent, TimerEventRequest, TimerSource};
|
||||
use script_traits::{TouchEventType, TouchId};
|
||||
use std::any::Any;
|
||||
|
@ -406,6 +406,9 @@ pub struct ScriptTask {
|
|||
/// For communicating load url messages to the constellation
|
||||
constellation_chan: ConstellationChan<ConstellationMsg>,
|
||||
|
||||
/// For communicating layout messages to the constellation
|
||||
layout_to_constellation_chan: ConstellationChan<LayoutMsg>,
|
||||
|
||||
/// A handle to the compositor for communicating ready state messages.
|
||||
compositor: DOMRefCell<IpcSender<ScriptToCompositorMsg>>,
|
||||
|
||||
|
@ -669,6 +672,7 @@ impl ScriptTask {
|
|||
control_chan: state.control_chan,
|
||||
control_port: control_port,
|
||||
constellation_chan: state.constellation_chan,
|
||||
layout_to_constellation_chan: state.layout_to_constellation_chan,
|
||||
compositor: DOMRefCell::new(state.compositor),
|
||||
time_profiler_chan: state.time_profiler_chan,
|
||||
mem_profiler_chan: state.mem_profiler_chan,
|
||||
|
@ -1195,7 +1199,7 @@ impl ScriptTask {
|
|||
is_parent: false,
|
||||
layout_pair: layout_pair,
|
||||
pipeline_port: pipeline_port,
|
||||
constellation_chan: self.constellation_chan.clone(),
|
||||
constellation_chan: self.layout_to_constellation_chan.clone(),
|
||||
failure: failure,
|
||||
paint_chan: paint_chan,
|
||||
script_chan: self.control_chan.clone(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue