mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #7588 - notriddle:master, r=pcwalton
Actually store the overflow for inline-block elements. Fixes #7571 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7588) <!-- Reviewable:end -->
This commit is contained in:
commit
9e914ca0db
7 changed files with 72 additions and 6 deletions
|
@ -40,6 +40,7 @@ use flow::{ImmutableFlowUtils, LateAbsolutePositionInfo, MutableFlowUtils, Opaqu
|
|||
use flow::{LAYERS_NEEDED_FOR_DESCENDANTS, NEEDS_LAYER};
|
||||
use flow::{PostorderFlowTraversal, PreorderFlowTraversal, mut_base};
|
||||
use flow::{self, BaseFlow, EarlyAbsolutePositionInfo, ForceNonfloatedFlag, FlowClass, Flow};
|
||||
use flow_ref;
|
||||
use fragment::{CoordinateSystem, Fragment, FragmentBorderBoxIterator, HAS_LAYER};
|
||||
use fragment::{SpecificFragmentInfo};
|
||||
use incremental::{REFLOW, REFLOW_OUT_OF_FLOW};
|
||||
|
@ -494,6 +495,20 @@ impl<'a> PostorderFlowTraversal for AbsoluteStoreOverflowTraversal<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
flow.mutate_fragments(&mut |f: &mut Fragment| {
|
||||
match f.specific {
|
||||
SpecificFragmentInfo::InlineBlock(ref mut info) => {
|
||||
let block = flow_ref::deref_mut(&mut info.flow_ref);
|
||||
(block.as_mut_block() as &mut Flow).early_store_overflow(self.layout_context);
|
||||
}
|
||||
SpecificFragmentInfo::InlineAbsolute(ref mut info) => {
|
||||
let block = flow_ref::deref_mut(&mut info.flow_ref);
|
||||
(block.as_mut_block() as &mut Flow).early_store_overflow(self.layout_context);
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
});
|
||||
|
||||
flow.early_store_overflow(self.layout_context);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue