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 {
|
||||
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;
|
||||
BlockFlow {
|
||||
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)
|
||||
}
|
||||
|
||||
let flow: FlowRef = Arc::new(
|
||||
BlockFlow::from_fragment(self.build_fragment_for_block(node), float_kind));
|
||||
let fragment = self.build_fragment_for_block(node);
|
||||
let flow: FlowRef =
|
||||
Arc::new(BlockFlow::from_fragment_and_float_kind(fragment, float_kind));
|
||||
self.build_flow_for_block_like(flow, node)
|
||||
}
|
||||
|
||||
|
@ -1165,7 +1166,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode>
|
|||
-> ConstructionResult {
|
||||
let fragment = Fragment::new(node, SpecificFragmentInfo::TableWrapper, self.layout_context);
|
||||
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_flow = Arc::new(TableFlow::from_fragment(table_fragment));
|
||||
|
|
|
@ -382,7 +382,7 @@ impl FlexFlow {
|
|||
}
|
||||
|
||||
FlexFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, flotation),
|
||||
block_flow: BlockFlow::from_fragment_and_float_kind(fragment, flotation),
|
||||
main_mode: main_mode,
|
||||
available_main_size: AxisSize::Infinite,
|
||||
available_cross_size: AxisSize::Infinite,
|
||||
|
|
|
@ -42,7 +42,7 @@ impl ListItemFlow {
|
|||
flotation: Option<FloatKind>)
|
||||
-> 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,
|
||||
};
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ pub struct MulticolColumnFlow {
|
|||
impl MulticolFlow {
|
||||
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> 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),
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ impl MulticolFlow {
|
|||
impl MulticolColumnFlow {
|
||||
pub fn from_fragment(fragment: Fragment) -> MulticolColumnFlow {
|
||||
MulticolColumnFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
||||
block_flow: BlockFlow::from_fragment(fragment),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ pub struct TableFlow {
|
|||
|
||||
impl 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 =
|
||||
if block_flow.fragment().style().get_table().table_layout == table_layout::T::fixed {
|
||||
TableLayout::Fixed
|
||||
|
|
|
@ -29,7 +29,7 @@ pub struct TableCaptionFlow {
|
|||
impl TableCaptionFlow {
|
||||
pub fn from_fragment(fragment: Fragment) -> TableCaptionFlow {
|
||||
TableCaptionFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, None)
|
||||
block_flow: BlockFlow::from_fragment(fragment),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,10 +46,19 @@ pub struct 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>(
|
||||
node: &N, fragment: Fragment, visible: bool) -> TableCellFlow {
|
||||
TableCellFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
||||
block_flow: BlockFlow::from_fragment(fragment),
|
||||
collapsed_borders: CollapsedBordersForCell::new(),
|
||||
column_span: node.get_colspan(),
|
||||
visible: visible,
|
||||
|
|
|
@ -84,7 +84,7 @@ impl TableRowFlow {
|
|||
pub fn from_fragment(fragment: Fragment) -> TableRowFlow {
|
||||
let writing_mode = fragment.style().writing_mode;
|
||||
TableRowFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
||||
block_flow: BlockFlow::from_fragment(fragment),
|
||||
cell_intrinsic_inline_sizes: Vec::new(),
|
||||
column_computed_inline_sizes: Vec::new(),
|
||||
spacing: border_spacing::T {
|
||||
|
|
|
@ -64,7 +64,7 @@ impl TableRowGroupFlow {
|
|||
pub fn from_fragment(fragment: Fragment) -> TableRowGroupFlow {
|
||||
let writing_mode = fragment.style().writing_mode;
|
||||
TableRowGroupFlow {
|
||||
block_flow: BlockFlow::from_fragment(fragment, None),
|
||||
block_flow: BlockFlow::from_fragment(fragment),
|
||||
column_intrinsic_inline_sizes: Vec::new(),
|
||||
column_computed_inline_sizes: Vec::new(),
|
||||
spacing: border_spacing::T {
|
||||
|
|
|
@ -57,8 +57,13 @@ pub struct TableWrapperFlow {
|
|||
}
|
||||
|
||||
impl TableWrapperFlow {
|
||||
pub fn from_fragment(fragment: Fragment, float_kind: Option<FloatKind>) -> TableWrapperFlow {
|
||||
let mut block_flow = BlockFlow::from_fragment(fragment, float_kind);
|
||||
pub fn from_fragment(fragment: Fragment) -> TableWrapperFlow {
|
||||
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 ==
|
||||
table_layout::T::fixed {
|
||||
TableLayout::Fixed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue