mirror of
https://github.com/servo/servo.git
synced 2025-10-04 18:49:23 +01:00
layout: Rewrite whitespace stripping. This patch makes Servo unconditionally strip whitespace before text run scanning (assuming that the `white-space` property allows it). Whitespace stripping during reflow is now only used for handling whitespace at the ends of lines; reflow now never attempts to handle ignorable whitespace. Many CSS tests pass now. There are some new failures, however. The following reference tests now fail due to a pre-existing bug whereby whitespace is used to calculate the position of inline hypothetical boxes for elements with `display: inline; position: absolute`: * `absolute-replaced-height-036.htm` * `vertical-align-sub-001.htm` * `vertical-align-super-001.htm` The following reference tests fail due to a pre-existing bug whereby we don't handle `font-size: 0` properly in inline reflow: * `font-size-zero-1.htm` * `font-size-zero-2.htm` The following reference test fails due to the fact that it relied on our incorrect insertion of whitespace to make room for the black background: * `inline-formatting-context-007.htm` r? @mbrubeck <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7024) <!-- 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 |