servo/components/layout
Patrick Walton a30379975a 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.)
2015-08-17 12:43:12 -07:00
..
css Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
animation.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01: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 layout: Remove the now-useless dirty field from the layout context. 2015-08-10 21:27:03 -07: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 Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
floats.rs Positioning fixes for RTL floats 2015-05-18 17:25:06 -07:00
flow.rs layout: Improve our handling of inline absolute containing blocks. 2015-08-17 12:43:12 -07: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 layout: Improve our handling of inline absolute containing blocks. 2015-08-17 12:43:12 -07:00
generated_content.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01: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 layout: Improve our handling of inline absolute containing blocks. 2015-08-17 12:43:12 -07:00
layout_debug.rs Change not(ndebug) to debug_assertions 2015-06-01 13:48:38 -07:00
layout_task.rs Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01: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 Cache the number of children of each node 2015-07-31 23:32:30 +02:00
query.rs Extract layout query code into query.rs 2015-08-05 10:24:00 -07:00
sequential.rs Implement offsetParent/Top/Left/Width/Height. 2015-08-03 11:55:38 +10: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 Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00
table_rowgroup.rs layout: Make sure anonymous table flows are statically positioned. 2015-08-06 18:49:07 -07: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 Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() 2015-08-15 02:27:39 +01:00