servo/components/layout
Anthony Ramine 70ec61cf01 Refactor Position
A specified position is now a struct made of two values of different types,
the first one being PositionComponent<X>, and the second one PositionComponent<Y>.

A position component is represented by the new enum PositionComponent<Side>,
with the three values Center, Length(LengthOrPercentage), and
Side(Side, Option<LengthOrPercentage>).

Side keywords are represented by the X and Y enums, which don't include a value
for the center keyword anymore. They are accompanied by the Side trait, which
allows us to determine whether a side keyword is "left" or "top".

This refactor simplified the parsing and serialisation code and exposed bugs in it,
where it would reject valid <position> values followed by arbitrary tokens,
and where it would fail to prefer "left" to "right" when serialising positions
in basic shapes.
2017-05-10 16:56:01 +02:00
..
animation.rs stylo: Store font metrics provider in thread local style context 2017-04-09 19:15:35 +08:00
block.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
Cargo.toml bump required rayon version to 0.7 2017-05-05 10:36:01 -04:00
construct.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
context.rs Eliminate ScrollRootId 2017-04-20 08:51:38 +02:00
data.rs Bug 1325734 - Remove Servo Layout's dependency on the initial-ness of the style. r=emilio 2017-01-09 11:51:36 -08:00
display_list_builder.rs Refactor Position 2017-05-10 16:56:01 +02:00
flex.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
floats.rs Migrated -Z trace-layout to serde_json 2016-11-07 15:54:07 +08:00
flow.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
flow_list.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
flow_ref.rs Migrated -Z trace-layout to serde_json 2016-11-07 15:54:07 +08:00
fragment.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
generated_content.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
incremental.rs Force reflow in the sequential fallback of block format context 2017-04-23 08:32:25 +08:00
inline.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
layout_debug.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
lib.rs Auto merge of #16689 - servo:m5e, r=nox 2017-05-03 08:42:41 -05:00
linked_list.rs Move util::linked_list to layout 2016-06-29 17:23:04 +02:00
list_item.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
model.rs layout: Fix radius percentage resolution. 2017-05-08 11:48:29 +02:00
multicol.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
opaque_node.rs Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged(). 2016-06-20 19:08:02 +02:00
parallel.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
persistent_list.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
query.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
sequential.rs Force reflow in the sequential fallback of block format context 2017-04-23 08:32:25 +08:00
table.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_caption.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_cell.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_colgroup.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_row.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_rowgroup.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
table_wrapper.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
text.rs Fix up script and layout. 2017-05-02 17:35:45 -07:00
traversal.rs Eliminate ScrollRootId 2017-04-20 08:51:38 +02:00
webrender_helpers.rs Auto merge of #16666 - pyfisch:gradients, r=emilio 2017-05-07 07:56:51 -05:00
wrapper.rs Upgrade to rustc 1.19.0-nightly (ced823e26 2017-05-07) 2017-05-08 12:46:03 +02:00