servo/components/layout
bors-servo d654841288 Auto merge of #7177 - pcwalton:intervening-inline-block, r=mbrubeck
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 -->
2015-08-17 13:56:53 -06:00
..
css Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
animation.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
block.rs layout: Improve our handling of inline absolute containing blocks. 2015-08-17 12:43:12 -07:00
Cargo.toml servo: Update ipc-channel to pick up bincode support. 2015-08-08 09:43:53 -07:00
construct.rs layout: Improve our handling of inline absolute containing blocks. 2015-08-17 12:43:12 -07:00
context.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
data.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
display_list_builder.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
floats.rs Positioning fixes for RTL floats 2015-05-18 17:25:06 -07:00
flow.rs Auto merge of #7177 - pcwalton:intervening-inline-block, r=mbrubeck 2015-08-17 13:56:53 -06:00
flow_list.rs Use usize in flow_list. 2015-03-29 12:43:44 +02:00
flow_ref.rs Remove Deref and DerefMut implementations from WeakFlowRef. 2015-06-27 18:09:14 +02:00
fragment.rs Auto merge of #7177 - pcwalton:intervening-inline-block, r=mbrubeck 2015-08-17 13:56:53 -06:00
generated_content.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
incremental.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
inline.rs Auto merge of #7177 - pcwalton:intervening-inline-block, r=mbrubeck 2015-08-17 13:56:53 -06:00
layout_debug.rs Change not(ndebug) to debug_assertions 2015-06-01 13:48:38 -07:00
layout_task.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
lib.rs servo: Update ipc-channel to pick up bincode support. 2015-08-08 09:43:53 -07:00
list_item.rs layout: Minor whitespace cleanup. 2015-08-08 13:32:25 -07:00
model.rs layout: Take inline margins into account when determining the intrinsic 2015-08-05 12:29:16 -07:00
multicol.rs layout: Make sure anonymous table flows are statically positioned. 2015-08-06 18:49:07 -07:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
query.rs Extract layout query code into query.rs 2015-08-05 10:24:00 -07:00
sequential.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
table.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
table_caption.rs layout: Make sure anonymous table flows are statically positioned. 2015-08-06 18:49:07 -07:00
table_cell.rs layout: Make sure anonymous table flows are statically positioned. 2015-08-06 18:49:07 -07:00
table_colgroup.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
table_row.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
table_rowgroup.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00
table_wrapper.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
text.rs layout: Rewrite whitespace stripping. 2015-08-11 11:42:20 -07:00
traversal.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
wrapper.rs Fix existing syntactics nits. 2015-08-16 10:30:43 -04:00