diff --git a/components/layout/flex.rs b/components/layout/flex.rs index 7b8d694494c..c40c6a1b433 100644 --- a/components/layout/flex.rs +++ b/components/layout/flex.rs @@ -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, @@ -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; diff --git a/components/layout/flow_list.rs b/components/layout/flow_list.rs index 8fd32af60f4..42ff71bf4ea 100644 --- a/components/layout/flow_list.rs +++ b/components/layout/flow_list.rs @@ -37,8 +37,9 @@ impl Serialize for FlowList { 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::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 } }) diff --git a/components/layout/model.rs b/components/layout/model.rs index 89847e0190b..8382c9af7d0 100644 --- a/components/layout/model.rs +++ b/components/layout/model.rs @@ -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, diff --git a/components/style/logical_geometry.rs b/components/style/logical_geometry.rs index 242a061b0da..badbb6851ee 100644 --- a/components/style/logical_geometry.rs +++ b/components/style/logical_geometry.rs @@ -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 diff --git a/etc/layout_viewer/css/main.css b/etc/layout_viewer/css/main.css index 33b85a97249..9522c2ccb15 100644 --- a/etc/layout_viewer/css/main.css +++ b/etc/layout_viewer/css/main.css @@ -15,3 +15,15 @@ .hidden-glyphicon { visibility:hidden; } + +#toolbar { + background: rgba(255,255,255,0.5); + box-shadow: 0.5em 0.5em 2em lightgrey; + position: fixed; + top: 1em; + right: 1em; + padding: 1em; + border-radius: 1em; + font-weight: bold; + text-align: right; +} diff --git a/etc/layout_viewer/viewer.html b/etc/layout_viewer/viewer.html index 7e80756ade7..4edca787bf4 100644 --- a/etc/layout_viewer/viewer.html +++ b/etc/layout_viewer/viewer.html @@ -67,6 +67,16 @@ +
+ < Prev step + | + Next step > +
+ + +
+ Back to top +
@@ -80,17 +90,28 @@