mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
layout: Refactor Flow::from_fragment
-style constructors to be
consistent.
This commit is contained in:
parent
e888b76534
commit
be252371ea
11 changed files with 35 additions and 15 deletions
|
@ -533,7 +533,12 @@ impl Encodable for BlockFlowFlags {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BlockFlow {
|
impl BlockFlow {
|
||||||
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> BlockFlow {
|
pub fn from_fragment(fragment: Fragment) -> BlockFlow {
|
||||||
|
BlockFlow::from_fragment_and_float_kind(fragment, None)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn from_fragment_and_float_kind(fragment: Fragment, float_kind: Option<FloatKind>)
|
||||||
|
-> BlockFlow {
|
||||||
let writing_mode = fragment.style().writing_mode;
|
let writing_mode = fragment.style().writing_mode;
|
||||||
BlockFlow {
|
BlockFlow {
|
||||||
base: BaseFlow::new(Some(fragment.style()), writing_mode, match float_kind {
|
base: BaseFlow::new(Some(fragment.style()), writing_mode, match float_kind {
|
||||||
|
|
|
@ -768,8 +768,9 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode>
|
||||||
return self.build_flow_for_multicol(node, float_kind)
|
return self.build_flow_for_multicol(node, float_kind)
|
||||||
}
|
}
|
||||||
|
|
||||||
let flow: FlowRef = Arc::new(
|
let fragment = self.build_fragment_for_block(node);
|
||||||
BlockFlow::from_fragment(self.build_fragment_for_block(node), float_kind));
|
let flow: FlowRef =
|
||||||
|
Arc::new(BlockFlow::from_fragment_and_float_kind(fragment, float_kind));
|
||||||
self.build_flow_for_block_like(flow, node)
|
self.build_flow_for_block_like(flow, node)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1165,7 +1166,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode>
|
||||||
-> ConstructionResult {
|
-> ConstructionResult {
|
||||||
let fragment = Fragment::new(node, SpecificFragmentInfo::TableWrapper, self.layout_context);
|
let fragment = Fragment::new(node, SpecificFragmentInfo::TableWrapper, self.layout_context);
|
||||||
let mut wrapper_flow: FlowRef = Arc::new(
|
let mut wrapper_flow: FlowRef = Arc::new(
|
||||||
TableWrapperFlow::from_fragment(fragment, FloatKind::from_property(float_value)));
|
TableWrapperFlow::from_fragment_and_float_kind(fragment, FloatKind::from_property(float_value)));
|
||||||
|
|
||||||
let table_fragment = Fragment::new(node, SpecificFragmentInfo::Table, self.layout_context);
|
let table_fragment = Fragment::new(node, SpecificFragmentInfo::Table, self.layout_context);
|
||||||
let table_flow = Arc::new(TableFlow::from_fragment(table_fragment));
|
let table_flow = Arc::new(TableFlow::from_fragment(table_fragment));
|
||||||
|
|
|
@ -382,7 +382,7 @@ impl FlexFlow {
|
||||||
}
|
}
|
||||||
|
|
||||||
FlexFlow {
|
FlexFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, flotation),
|
block_flow: BlockFlow::from_fragment_and_float_kind(fragment, flotation),
|
||||||
main_mode: main_mode,
|
main_mode: main_mode,
|
||||||
available_main_size: AxisSize::Infinite,
|
available_main_size: AxisSize::Infinite,
|
||||||
available_cross_size: AxisSize::Infinite,
|
available_cross_size: AxisSize::Infinite,
|
||||||
|
|
|
@ -42,7 +42,7 @@ impl ListItemFlow {
|
||||||
flotation: Option<FloatKind>)
|
flotation: Option<FloatKind>)
|
||||||
-> ListItemFlow {
|
-> ListItemFlow {
|
||||||
let mut this = ListItemFlow {
|
let mut this = ListItemFlow {
|
||||||
block_flow: BlockFlow::from_fragment(main_fragment, flotation),
|
block_flow: BlockFlow::from_fragment_and_float_kind(main_fragment, flotation),
|
||||||
marker_fragments: marker_fragments,
|
marker_fragments: marker_fragments,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ pub struct MulticolColumnFlow {
|
||||||
impl MulticolFlow {
|
impl MulticolFlow {
|
||||||
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> MulticolFlow {
|
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> MulticolFlow {
|
||||||
MulticolFlow {
|
MulticolFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, float_kind),
|
block_flow: BlockFlow::from_fragment_and_float_kind(fragment, float_kind),
|
||||||
column_pitch: Au(0),
|
column_pitch: Au(0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ impl MulticolFlow {
|
||||||
impl MulticolColumnFlow {
|
impl MulticolColumnFlow {
|
||||||
pub fn from_fragment(fragment: Fragment) -> MulticolColumnFlow {
|
pub fn from_fragment(fragment: Fragment) -> MulticolColumnFlow {
|
||||||
MulticolColumnFlow {
|
MulticolColumnFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ pub struct TableFlow {
|
||||||
|
|
||||||
impl TableFlow {
|
impl TableFlow {
|
||||||
pub fn from_fragment(fragment: Fragment) -> TableFlow {
|
pub fn from_fragment(fragment: Fragment) -> TableFlow {
|
||||||
let mut block_flow = BlockFlow::from_fragment(fragment, None);
|
let mut block_flow = BlockFlow::from_fragment(fragment);
|
||||||
let table_layout =
|
let table_layout =
|
||||||
if block_flow.fragment().style().get_table().table_layout == table_layout::T::fixed {
|
if block_flow.fragment().style().get_table().table_layout == table_layout::T::fixed {
|
||||||
TableLayout::Fixed
|
TableLayout::Fixed
|
||||||
|
|
|
@ -29,7 +29,7 @@ pub struct TableCaptionFlow {
|
||||||
impl TableCaptionFlow {
|
impl TableCaptionFlow {
|
||||||
pub fn from_fragment(fragment: Fragment) -> TableCaptionFlow {
|
pub fn from_fragment(fragment: Fragment) -> TableCaptionFlow {
|
||||||
TableCaptionFlow {
|
TableCaptionFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, None)
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,10 +46,19 @@ pub struct TableCellFlow {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TableCellFlow {
|
impl TableCellFlow {
|
||||||
|
pub fn from_fragment(fragment: Fragment) -> TableCellFlow {
|
||||||
|
TableCellFlow {
|
||||||
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
|
collapsed_borders: CollapsedBordersForCell::new(),
|
||||||
|
column_span: 1,
|
||||||
|
visible: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn from_node_fragment_and_visibility_flag<N: ThreadSafeLayoutNode>(
|
pub fn from_node_fragment_and_visibility_flag<N: ThreadSafeLayoutNode>(
|
||||||
node: &N, fragment: Fragment, visible: bool) -> TableCellFlow {
|
node: &N, fragment: Fragment, visible: bool) -> TableCellFlow {
|
||||||
TableCellFlow {
|
TableCellFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
collapsed_borders: CollapsedBordersForCell::new(),
|
collapsed_borders: CollapsedBordersForCell::new(),
|
||||||
column_span: node.get_colspan(),
|
column_span: node.get_colspan(),
|
||||||
visible: visible,
|
visible: visible,
|
||||||
|
|
|
@ -84,7 +84,7 @@ impl TableRowFlow {
|
||||||
pub fn from_fragment(fragment: Fragment) -> TableRowFlow {
|
pub fn from_fragment(fragment: Fragment) -> TableRowFlow {
|
||||||
let writing_mode = fragment.style().writing_mode;
|
let writing_mode = fragment.style().writing_mode;
|
||||||
TableRowFlow {
|
TableRowFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
cell_intrinsic_inline_sizes: Vec::new(),
|
cell_intrinsic_inline_sizes: Vec::new(),
|
||||||
column_computed_inline_sizes: Vec::new(),
|
column_computed_inline_sizes: Vec::new(),
|
||||||
spacing: border_spacing::T {
|
spacing: border_spacing::T {
|
||||||
|
|
|
@ -64,7 +64,7 @@ impl TableRowGroupFlow {
|
||||||
pub fn from_fragment(fragment: Fragment) -> TableRowGroupFlow {
|
pub fn from_fragment(fragment: Fragment) -> TableRowGroupFlow {
|
||||||
let writing_mode = fragment.style().writing_mode;
|
let writing_mode = fragment.style().writing_mode;
|
||||||
TableRowGroupFlow {
|
TableRowGroupFlow {
|
||||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
block_flow: BlockFlow::from_fragment(fragment),
|
||||||
column_intrinsic_inline_sizes: Vec::new(),
|
column_intrinsic_inline_sizes: Vec::new(),
|
||||||
column_computed_inline_sizes: Vec::new(),
|
column_computed_inline_sizes: Vec::new(),
|
||||||
spacing: border_spacing::T {
|
spacing: border_spacing::T {
|
||||||
|
|
|
@ -57,8 +57,13 @@ pub struct TableWrapperFlow {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TableWrapperFlow {
|
impl TableWrapperFlow {
|
||||||
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> TableWrapperFlow {
|
pub fn from_fragment(fragment: Fragment) -> TableWrapperFlow {
|
||||||
let mut block_flow = BlockFlow::from_fragment(fragment, float_kind);
|
TableWrapperFlow::from_fragment_and_float_kind(fragment, None)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn from_fragment_and_float_kind(fragment: Fragment, float_kind: Option<FloatKind>)
|
||||||
|
-> TableWrapperFlow {
|
||||||
|
let mut block_flow = BlockFlow::from_fragment_and_float_kind(fragment, float_kind);
|
||||||
let table_layout = if block_flow.fragment().style().get_table().table_layout ==
|
let table_layout = if block_flow.fragment().style().get_table().table_layout ==
|
||||||
table_layout::T::fixed {
|
table_layout::T::fixed {
|
||||||
TableLayout::Fixed
|
TableLayout::Fixed
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue