servo/components/layout
Patrick Walton ee8741b7a8 layout: Fix several bugs relating to inline borders, padding, and
margins.

* The code that attempted to strip out borders that span multiple
  fragments in the same element could go wrong if fragments were
  stripped out due to text clumping or whitespace stripping. This patch
  rewrites that code to maintain flags in the inline fragment context
  specifying whether the node is the beginning or end of the element.
  Not only is this easier to maintain, it's closer in spirit to what roc
  originally suggested two years ago: it's isomorphic to "begin element,
  end element" markers for inline layout.

* Padding and margins for spans containing inline-blocks are now
  properly handled via a division of labor between the `InlineBlock`
  fragment and the `BlockFlow` that represents the inline-block.

* Unscanned text fragments may not be joined together into a text run if
  borders, padding, or margins separate them.

Because Servo now matches the rendering of Gecko and WebKit on the
`input_button_margins_a` reftest, I had to modify it to add some
vertical alignment.

The combined effect of all of these fixes places "Advertising" on the
right place on google.com.
2015-09-03 10:24:59 -07:00
..
css Auto merge of #7499 - nerith:style, r=metajack 2015-09-02 12:05:58 -06:00
animation.rs Upgrade to rustc 1.4.0-dev (cb9323ec0 2015-09-01) 2015-09-02 09:22:17 +02:00
block.rs Auto merge of #7496 - servo:calc_, r=SimonSapin 2015-09-02 02:33:18 -06:00
Cargo.toml servo: Update ipc-channel to pick up bincode support. 2015-08-08 09:43:53 -07:00
construct.rs layout: Fix several bugs relating to inline borders, padding, and 2015-09-03 10:24:59 -07:00
context.rs sort all uses 2015-08-20 20:47:12 +08:00
data.rs make test-tidy check that = have space after them 2015-09-01 07:18:19 -04:00
display_list_builder.rs layout: Fix several bugs relating to inline borders, padding, and 2015-09-03 10:24:59 -07:00
flex.rs Merge branch 'master' into calc 2015-09-01 18:39:16 +02:00
floats.rs sort all uses 2015-08-20 20:47:12 +08:00
flow.rs Upgrade to rustc 1.4.0-dev (cb9323ec0 2015-09-01) 2015-09-02 09:22:17 +02:00
flow_list.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
flow_ref.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
fragment.rs layout: Fix several bugs relating to inline borders, padding, and 2015-09-03 10:24:59 -07:00
generated_content.rs layout: Don't crash if quotes: none is specified and generated content 2015-08-24 17:00:23 -07:00
incremental.rs make test-tidy check that = have space after them 2015-09-01 07:18:19 -04:00
inline.rs layout: Fix several bugs relating to inline borders, padding, and 2015-09-03 10:24:59 -07:00
layout_debug.rs sort all uses 2015-08-20 20:47:12 +08:00
layout_task.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
lib.rs Create FlexFlow's for 'display: flex' nodes. 2015-08-21 15:59:18 -07:00
list_item.rs layout: Make overflow calculation take relative percentages into 2015-08-31 16:50:56 -07:00
model.rs Implement Calc for LengthOrPercentageOrAuto 2015-08-26 14:14:45 -07:00
multicol.rs sort all uses 2015-08-20 20:47:12 +08:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
query.rs sort all uses 2015-08-20 20:47:12 +08:00
sequential.rs Don’t mark flow_ref::deref_mut as unsafe. 2015-08-21 21:16:25 +02:00
table.rs Auto merge of #7496 - servo:calc_, r=SimonSapin 2015-09-02 02:33:18 -06:00
table_caption.rs sort all uses 2015-08-20 20:47:12 +08:00
table_cell.rs sort all uses 2015-08-20 20:47:12 +08:00
table_colgroup.rs sort all uses 2015-08-20 20:47:12 +08:00
table_row.rs Auto merge of #7496 - servo:calc_, r=SimonSapin 2015-09-02 02:33:18 -06:00
table_rowgroup.rs flow::Flow should follow *_mut naming conventions 2015-08-18 09:12:01 -04:00
table_wrapper.rs Inline constraint resolver for absolutely positioned tables. 2015-08-31 16:45:17 -07:00
text.rs layout: Fix several bugs relating to inline borders, padding, and 2015-09-03 10:24:59 -07:00
traversal.rs layout: Fix tidy failures. 2015-09-01 08:37:41 -07:00
wrapper.rs Auto merge of #7334 - servo:active, r=SimonSapin 2015-08-24 04:23:13 -06:00