mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
layout: Implement CSS transitions per CSS-TRANSITIONS § 2.
Transition events are not yet supported, and the only animatable properties are `top`, `right`, `bottom`, and `left`. However, all other features of transitions are supported. There are no automated tests at present because I'm not sure how best to test it, but three manual tests are included.
This commit is contained in:
parent
c1cc31b9d6
commit
66dd8c8a6c
31 changed files with 1603 additions and 224 deletions
|
@ -31,6 +31,7 @@ pub struct Pipeline {
|
|||
pub id: PipelineId,
|
||||
pub parent_info: Option<(PipelineId, SubpageId)>,
|
||||
pub script_chan: ScriptControlChan,
|
||||
/// A channel to layout, for performing reflows and shutdown.
|
||||
pub layout_chan: LayoutControlChan,
|
||||
pub paint_chan: PaintChan,
|
||||
pub layout_shutdown_port: Receiver<()>,
|
||||
|
@ -40,6 +41,9 @@ pub struct Pipeline {
|
|||
/// The title of the most recently-loaded page.
|
||||
pub title: Option<String>,
|
||||
pub rect: Option<TypedRect<PagePx, f32>>,
|
||||
/// Whether this pipeline is currently running animations. Pipelines that are running
|
||||
/// animations cause composites to be continually scheduled.
|
||||
pub running_animations: bool,
|
||||
pub children: Vec<FrameId>,
|
||||
}
|
||||
|
||||
|
@ -113,12 +117,14 @@ impl Pipeline {
|
|||
ScriptControlChan(script_chan)
|
||||
}
|
||||
Some(script_chan) => {
|
||||
let (containing_pipeline_id, subpage_id) = parent_info.expect("script_pipeline != None but subpage_id == None");
|
||||
let (containing_pipeline_id, subpage_id) =
|
||||
parent_info.expect("script_pipeline != None but subpage_id == None");
|
||||
let new_layout_info = NewLayoutInfo {
|
||||
containing_pipeline_id: containing_pipeline_id,
|
||||
new_pipeline_id: id,
|
||||
subpage_id: subpage_id,
|
||||
layout_chan: ScriptTaskFactory::clone_layout_channel(None::<&mut STF>, &layout_pair),
|
||||
layout_chan: ScriptTaskFactory::clone_layout_channel(None::<&mut STF>,
|
||||
&layout_pair),
|
||||
load_data: load_data.clone(),
|
||||
};
|
||||
|
||||
|
@ -186,6 +192,7 @@ impl Pipeline {
|
|||
title: None,
|
||||
children: vec!(),
|
||||
rect: rect,
|
||||
running_animations: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue