mirror of
https://github.com/servo/servo.git
synced 2025-06-19 14:48:59 +01:00
layout: Improve our handling of inline absolute containing blocks. Several issues are addressed in this commit: * Inline flows now bubble up their absolute descendants instead of making the inline flow the containing block for them. (In the future, we will need to make the inline flow *sometimes* be the containing block for them, but for now it improves sites to unconditionally bubble up.) * Fragments now look at their inline fragment context to determine whether they are positioned. * Inline flows now push the stacking-relative position of the absolute containing block down to their inline-block fragments. * Inline absolute hypothetical fragments can be containing blocks. * Fixes the logic in `containing_block_range_for_flow_surrounding_fragment_at_index`. The condition to determine whether fragments are positioned was inverted! * `Descendants`/`AbsDescendants` has been refactored in order to become more friendly to inline absolute containing blocks in the future. Improves the inline position of the green drop-down arrow in the Google SERPs. (The block position is still wrong.) r? @mbrubeck <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7177) <!-- Reviewable:end --> |
||
---|---|---|
.. | ||
css | ||
animation.rs | ||
block.rs | ||
Cargo.toml | ||
construct.rs | ||
context.rs | ||
data.rs | ||
display_list_builder.rs | ||
floats.rs | ||
flow.rs | ||
flow_list.rs | ||
flow_ref.rs | ||
fragment.rs | ||
generated_content.rs | ||
incremental.rs | ||
inline.rs | ||
layout_debug.rs | ||
layout_task.rs | ||
lib.rs | ||
list_item.rs | ||
model.rs | ||
multicol.rs | ||
opaque_node.rs | ||
parallel.rs | ||
query.rs | ||
sequential.rs | ||
table.rs | ||
table_caption.rs | ||
table_cell.rs | ||
table_colgroup.rs | ||
table_row.rs | ||
table_rowgroup.rs | ||
table_wrapper.rs | ||
text.rs | ||
traversal.rs | ||
wrapper.rs |