Struct constellation::pipeline::InitialPipelineState
source · pub struct InitialPipelineState {Show 30 fields
pub id: PipelineId,
pub browsing_context_id: BrowsingContextId,
pub top_level_browsing_context_id: TopLevelBrowsingContextId,
pub parent_pipeline_id: Option<PipelineId>,
pub opener: Option<BrowsingContextId>,
pub script_to_constellation_chan: ScriptToConstellationChan,
pub namespace_request_sender: IpcSender<PipelineNamespaceRequest>,
pub background_monitor_register: Option<Box<dyn BackgroundHangMonitorRegister>>,
pub background_hang_monitor_to_constellation_chan: IpcSender<HangMonitorAlert>,
pub layout_to_constellation_chan: IpcSender<LayoutMsg>,
pub layout_factory: Arc<dyn LayoutFactory>,
pub scheduler_chan: IpcSender<TimerSchedulerMsg>,
pub compositor_proxy: CompositorProxy,
pub devtools_sender: Option<Sender<DevtoolsControlMsg>>,
pub bluetooth_thread: IpcSender<BluetoothRequest>,
pub swmanager_thread: IpcSender<SWManagerMsg>,
pub system_font_service: Arc<SystemFontServiceProxy>,
pub resource_threads: ResourceThreads,
pub time_profiler_chan: ProfilerChan,
pub mem_profiler_chan: ProfilerChan,
pub window_size: WindowSizeData,
pub pipeline_namespace_id: PipelineNamespaceId,
pub event_loop: Option<Rc<EventLoop>>,
pub load_data: LoadData,
pub prev_throttled: bool,
pub webrender_document: DocumentId,
pub webgl_chan: Option<WebGLPipeline>,
pub webxr_registry: Option<Registry>,
pub player_context: WindowGLContext,
pub user_agent: Cow<'static, str>,
}
Expand description
Initial setup data needed to construct a pipeline.
DO NOT add any Senders to this unless you absolutely know what you’re doing, or pcwalton will have to rewrite your code. Use IPC senders instead.
Fields§
§id: PipelineId
The ID of the pipeline to create.
browsing_context_id: BrowsingContextId
The ID of the browsing context that contains this Pipeline.
top_level_browsing_context_id: TopLevelBrowsingContextId
The ID of the top-level browsing context that contains this Pipeline.
parent_pipeline_id: Option<PipelineId>
The ID of the parent pipeline and frame type, if any.
If None
, this is the root.
opener: Option<BrowsingContextId>
§script_to_constellation_chan: ScriptToConstellationChan
A channel to the associated constellation.
namespace_request_sender: IpcSender<PipelineNamespaceRequest>
A sender to request pipeline namespace ids.
background_monitor_register: Option<Box<dyn BackgroundHangMonitorRegister>>
A handle to register components for hang monitoring. None when in multiprocess mode.
background_hang_monitor_to_constellation_chan: IpcSender<HangMonitorAlert>
A channel for the background hang monitor to send messages to the constellation.
layout_to_constellation_chan: IpcSender<LayoutMsg>
A channel for the layout to send messages to the constellation.
layout_factory: Arc<dyn LayoutFactory>
A fatory for creating layouts to be used by the ScriptThread.
scheduler_chan: IpcSender<TimerSchedulerMsg>
A channel to schedule timer events.
compositor_proxy: CompositorProxy
A channel to the compositor.
devtools_sender: Option<Sender<DevtoolsControlMsg>>
A channel to the developer tools, if applicable.
bluetooth_thread: IpcSender<BluetoothRequest>
A channel to the bluetooth thread.
swmanager_thread: IpcSender<SWManagerMsg>
A channel to the service worker manager thread
system_font_service: Arc<SystemFontServiceProxy>
A proxy to the system font service, responsible for managing the list of system fonts.
resource_threads: ResourceThreads
Channels to the resource-related threads.
time_profiler_chan: ProfilerChan
A channel to the time profiler thread.
mem_profiler_chan: ProfilerChan
A channel to the memory profiler thread.
window_size: WindowSizeData
Information about the initial window size.
pipeline_namespace_id: PipelineNamespaceId
The ID of the pipeline namespace for this script thread.
event_loop: Option<Rc<EventLoop>>
The event loop to run in, if applicable.
load_data: LoadData
Information about the page to load.
prev_throttled: bool
Whether the browsing context in which pipeline is embedded is throttled, using less resources by stopping animations and running timers at a heavily limited rate. This field is only used to notify script and compositor threads after spawning a pipeline.
webrender_document: DocumentId
The ID of the document processed by this script thread.
webgl_chan: Option<WebGLPipeline>
A channel to the WebGL thread.
webxr_registry: Option<Registry>
The XR device registry
player_context: WindowGLContext
Application window’s GL Context for Media player
user_agent: Cow<'static, str>
User agent string to report in network requests.
Auto Trait Implementations§
impl Freeze for InitialPipelineState
impl !RefUnwindSafe for InitialPipelineState
impl !Send for InitialPipelineState
impl !Sync for InitialPipelineState
impl Unpin for InitialPipelineState
impl !UnwindSafe for InitialPipelineState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more