This only traverses absolute flows, nothing else.
+ Also, a separate mini-traversal for store overflow.
+ Store descendants with position 'absolute' and 'fixed' in BaseFlow.
+ Bubble up links to absolute and fixed descendants during Flow Construction.
+ Set Rawlink to the CB in absolute descendants.
+ store_overflow() now uses absolute descendants' overflows too.
+ Add reftests for 'absolute' and 'fixed' static y position.
+ Add reftests for overflow (they all fail now).
+ Put absolute flow display items under their CB's ClipDisplayItem.
+ Paint borders in Box_ before the actual box stuff (minor fix in lieu of paint-order).
+ Re-implement fixed positioning using the absolute positioning code.
+ Add reftests for absolute positioning and fixed positioning.
+ Refactor assign_widths in BlockFlow to isolate the calculation of
widths and margins.
+ Pass down details of the Containing Block for absolute and fixed flows
during layout. Use it to calculate the static position of absolute flows.
+ Defer calculation of absolute flow dimensions till we build the
display list.
After applying this patch, on Linux you will need to
../configure
make clean-rust-azure clean-fontconfig clean-rust-fontconfig
Fixes#1752.
Expect Fontconfig warnings and possibly worse breakage, but for me this makes it possible to use parallel layout at all.
This rewrites the float context to avoid dynamic failures resulting from
`.clone()` misuse. It also renames the float context to the simpler
`Floats`. The new version is modeled on WebKit's `FloatingObjects`.
r? @kmcallister
This rewrites the float context to avoid dynamic failures resulting from
`.clone()` misuse. It also renames the float context to the simpler
`Floats`. The new version is modeled on WebKit's `FloatingObjects`.
Back in 2012, Brian wrote a reftest system using Firefox via Selenium to
generate comparison images. This seems like a pretty cool idea, but we
didn't maintain it and important pieces are now missing.
Let's remove it from the working tree to avoid confusion with the current
reftest system, and I'll open a ticket about revisiting this idea.
One pair of old reftest files seems usable as a new reftest and that move is
included in this commit.