Propagate absolute descendants of inline block flows. Fixes #3326.

This commit is contained in:
Josh Matthews 2014-09-14 13:12:44 -04:00
parent 0b0c2ef461
commit 8f65c22927

View file

@ -604,8 +604,8 @@ impl<'a, 'b> FlowConstructor<'a, 'b> {
fn build_fragment_for_inline_block(&mut self, node: &ThreadSafeLayoutNode) -> ConstructionResult { fn build_fragment_for_inline_block(&mut self, node: &ThreadSafeLayoutNode) -> ConstructionResult {
let block_flow_result = self.build_flow_for_block(node); let block_flow_result = self.build_flow_for_block(node);
let block_flow = match block_flow_result { let (block_flow, abs_descendants) = match block_flow_result {
FlowConstructionResult(block_flow, _) => block_flow, FlowConstructionResult(block_flow, abs_descendants) => (block_flow, abs_descendants),
_ => unreachable!() _ => unreachable!()
}; };
@ -618,7 +618,7 @@ impl<'a, 'b> FlowConstructor<'a, 'b> {
let construction_item = InlineFragmentsConstructionItem(InlineFragmentsConstructionResult { let construction_item = InlineFragmentsConstructionItem(InlineFragmentsConstructionResult {
splits: Vec::new(), splits: Vec::new(),
fragments: fragment_accumulator.finish(), fragments: fragment_accumulator.finish(),
abs_descendants: Descendants::new(), abs_descendants: abs_descendants,
}); });
ConstructionItemConstructionResult(construction_item) ConstructionItemConstructionResult(construction_item)
} }