Activate flexbox layout tracing

This commit is contained in:
Shing Lyu 2016-10-20 15:20:06 +08:00
parent 92d380c399
commit 4b2d80afcf
4 changed files with 15 additions and 13 deletions

View file

@ -35,7 +35,7 @@ use style::values::computed::{LengthOrPercentageOrAutoOrContent, LengthOrPercent
/// The size of an axis. May be a specified size, a min/max
/// constraint, or an unlimited size
#[derive(Debug)]
#[derive(Debug, Serialize)]
enum AxisSize {
Definite(Au),
MinMax(SizeConstraint),
@ -102,7 +102,7 @@ fn from_flex_basis(flex_basis: LengthOrPercentageOrAutoOrContent,
/// Represents a child in a flex container. Most fields here are used in
/// flex size resolving, and items are sorted by the 'order' property.
#[derive(Debug)]
#[derive(Debug, Serialize)]
struct FlexItem {
/// Main size of a flex item, used to store results of flexible length calcuation.
pub main_size: Au,
@ -240,7 +240,7 @@ impl FlexItem {
/// A line in a flex container.
// TODO(stshine): More fields are required to handle collapsed items and baseline alignment.
#[derive(Debug)]
#[derive(Debug, Serialize)]
struct FlexLine {
/// Range of items belong to this line in 'self.items'.
pub range: Range<usize>,
@ -330,7 +330,7 @@ impl FlexLine {
}
/// A block with the CSS `display` property equal to `flex`.
#[derive(Debug)]
#[derive(Debug, Serialize)]
pub struct FlexFlow {
/// Data common to all block flows.
block_flow: BlockFlow,
@ -496,7 +496,7 @@ impl FlexFlow {
inline_end_content_edge: Au,
content_inline_size: Au) {
let _scope = layout_debug_scope!("flex::block_mode_assign_inline_sizes");
debug!("block_mode_assign_inline_sizes");
debug!("flex::block_mode_assign_inline_sizes");
// FIXME (mbrubeck): Get correct mode for absolute containing block
let containing_block_mode = self.block_flow.base.writing_mode;

View file

@ -30,15 +30,16 @@ impl Serialize for FlowList {
let flow_val = ObjectBuilder::new()
.insert("class", f.class())
.insert("data", match f.class() {
FlowClass::Block => to_value(f.as_block()),
FlowClass::Inline => to_value(f.as_inline()),
FlowClass::Table => to_value(f.as_table()),
FlowClass::TableWrapper => to_value(f.as_table_wrapper()),
FlowClass::Block => to_value(f.as_block()),
FlowClass::Inline => to_value(f.as_inline()),
FlowClass::Table => to_value(f.as_table()),
FlowClass::TableWrapper => to_value(f.as_table_wrapper()),
FlowClass::TableRowGroup => to_value(f.as_table_rowgroup()),
FlowClass::TableRow => to_value(f.as_table_row()),
FlowClass::TableCell => to_value(f.as_table_cell()),
FlowClass::TableRow => to_value(f.as_table_row()),
FlowClass::TableCell => to_value(f.as_table_cell()),
FlowClass::Flex => to_value(f.as_flex()),
FlowClass::ListItem | FlowClass::TableColGroup | FlowClass::TableCaption |
FlowClass::Multicol | FlowClass::MulticolColumn | FlowClass::Flex => {
FlowClass::Multicol | FlowClass::MulticolColumn => {
Value::Null // Not implemented yet
}
})

View file

@ -523,7 +523,7 @@ impl ToGfxMatrix for ComputedMatrix {
/// parameter, and when it is present the constraint will be subtracted. This is
/// used to adjust the constraint for `box-sizing: border-box`, and when you do so
/// make sure the size you want to clamp is intended to be used for content box.
#[derive(Clone, Copy, Debug)]
#[derive(Clone, Copy, Debug, Serialize)]
pub struct SizeConstraint {
min_size: Au,
max_size: Option<Au>,

View file

@ -215,6 +215,7 @@ impl Debug for DebugWritingMode {
// Used to specify the logical direction.
#[derive(Debug, Clone, Copy, PartialEq)]
#[cfg_attr(feature = "servo", derive(Serialize))]
pub enum Direction {
Inline,
Block