mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
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.
57 lines
2 KiB
Rust
57 lines
2 KiB
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
extern crate gfx;
|
|
extern crate script_traits;
|
|
extern crate msg;
|
|
extern crate net;
|
|
extern crate profile;
|
|
extern crate url;
|
|
extern crate util;
|
|
|
|
// This module contains traits in layout used generically
|
|
// in the rest of Servo.
|
|
// The traits are here instead of in layout so
|
|
// that these modules won't have to depend on layout.
|
|
|
|
use gfx::font_cache_task::FontCacheTask;
|
|
use gfx::paint_task::PaintChan;
|
|
use msg::constellation_msg::{ConstellationChan, Failure, PipelineId, PipelineExitType};
|
|
use net::image_cache_task::ImageCacheTask;
|
|
use net::resource_task::ResourceTask;
|
|
use profile::mem;
|
|
use profile::time;
|
|
use script_traits::{ScriptControlChan, OpaqueScriptLayoutChannel};
|
|
use std::sync::mpsc::{Sender, Receiver};
|
|
use url::Url;
|
|
|
|
/// Messages sent to the layout task from the constellation
|
|
pub enum LayoutControlMsg {
|
|
ExitNowMsg(PipelineExitType),
|
|
TickAnimationsMsg,
|
|
}
|
|
|
|
/// A channel wrapper for constellation messages
|
|
pub struct LayoutControlChan(pub Sender<LayoutControlMsg>);
|
|
|
|
// A static method creating a layout task
|
|
// Here to remove the compositor -> layout dependency
|
|
pub trait LayoutTaskFactory {
|
|
// FIXME: use a proper static method
|
|
fn create(_phantom: Option<&mut Self>,
|
|
id: PipelineId,
|
|
url: Url,
|
|
chan: OpaqueScriptLayoutChannel,
|
|
pipeline_port: Receiver<LayoutControlMsg>,
|
|
constellation_chan: ConstellationChan,
|
|
failure_msg: Failure,
|
|
script_chan: ScriptControlChan,
|
|
paint_chan: PaintChan,
|
|
resource_task: ResourceTask,
|
|
img_cache_task: ImageCacheTask,
|
|
font_cache_task: FontCacheTask,
|
|
time_profiler_chan: time::ProfilerChan,
|
|
mem_profiler_chan: mem::ProfilerChan,
|
|
shutdown_chan: Sender<()>);
|
|
}
|