servo/components
Martin Robinson 59f5414ca8
Split line layout into two phases (#30089)
In the first phase, we gather LineItems and then when we have enough to
form a line we turn them into Fragments. This will make it possible to
more simply implement `vertical-align` and `text-align: justify` because
we need to measure the different aspects of the candidate line and then
produce a Fragments.

This is a general refactor of the way that inline layout works, so comes
with some progressions. In addition there are some new failures.

New failures:

Some tests are now failing because only the test or reference is getting
proper line height when it wasn't before. These should be fixed in a
followup change that properly calculate line-height in more cases:

 - /_mozilla/css/list_style_position_a.html
 - /css/CSS2/floats/float-no-content-beside-001.html
 - /css/css-content/pseudo-element-inline-box.html
 - /css/css-flexbox/flexbox_flex-none-wrappable-content.html

Some tests are now failing because floats are now placed properly, but
are no longer in their inline box stacking contexts. These will be fixed
by a followup change which properly parents them:

- /css/filter-effects/filtered-inline-applies-to-float.html.ini
- /css/css-color/inline-opacity-float-child.html.ini

One test is failing due to floating point precision errors:

- /css/CSS2/floats-clear/floats-141.xht.ini

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-08-11 07:19:50 +00:00
..
allocator Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
atoms Further changes required by Servo 2023-06-09 10:22:21 +02:00
background_hang_monitor Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
bluetooth Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
bluetooth_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
canvas Try to use WebRender types more 2023-07-10 17:35:50 +02:00
canvas_traits Try to use WebRender types more 2023-07-10 17:35:50 +02:00
compositing Fix viewport origin of webrender frame (#30088) 2023-08-10 14:01:21 +00:00
config Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
config_plugins Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
constellation Try to use WebRender types more 2023-07-10 17:35:50 +02:00
deny_public_fields Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
derive_common Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
devtools Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
devtools_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
dom_struct Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
domobject_derive Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
embedder_traits Clean up some unused code after switching to rustls (#30081) 2023-08-09 01:02:02 +00:00
geometry Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
gfx Try to use WebRender types more 2023-07-10 17:35:50 +02:00
gfx_traits Try to use WebRender types more 2023-07-10 17:35:50 +02:00
jstraceable_derive Use mozjs tracing infrastructure (#29918) 2023-08-10 21:46:06 +00:00
layout Use explicit WebRender hit test items in legacy layout (#29981) 2023-07-17 09:11:09 +00:00
layout_2020 Split line layout into two phases (#30089) 2023-08-11 07:19:50 +00:00
layout_thread Try to use WebRender types more 2023-07-10 17:35:50 +02:00
layout_thread_2020 Try to use WebRender types more 2023-07-10 17:35:50 +02:00
layout_traits Vendor the current version of WebRender 2023-07-03 17:55:17 +02:00
malloc_size_of Try to use WebRender types more 2023-07-10 17:35:50 +02:00
media Try to use WebRender types more 2023-07-10 17:35:50 +02:00
metrics Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
msg Try to use WebRender types more 2023-07-10 17:35:50 +02:00
net Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
net_traits Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
pixels Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
profile Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
profile_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
rand Update uuid 2023-06-26 16:27:12 +02:00
range Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
remutex Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
script Use mozjs tracing infrastructure (#29918) 2023-08-10 21:46:06 +00:00
script_layout_interface Try to use WebRender types more 2023-07-10 17:35:50 +02:00
script_plugins Use mozjs tracing infrastructure (#29918) 2023-08-10 21:46:06 +00:00
script_traits Try to use WebRender types more 2023-07-10 17:35:50 +02:00
selectors style: Remove layout.css.is-and-where-better-error-recovery.enabled 2023-05-24 18:32:43 +02:00
servo Fix viewport origin of webrender frame (#30088) 2023-08-10 14:01:21 +00:00
servo_arc style: Refactor the author sheet cache to keep alive the relevant StylesheetContents 2023-05-24 18:32:30 +02:00
size_of_test Upgrade remaining components to edition 2018 2023-02-18 09:42:37 +01:00
std_test_override Upgrade remaining components to edition 2018 2023-02-18 09:42:37 +01:00
style Implement :valid :invalid pseudo classes (#26729) 2023-07-21 10:42:03 +00:00
style_derive Upgrade darling to 0.13.1 2023-06-09 11:17:48 +02:00
style_traits Vendor the current version of WebRender 2023-07-03 17:55:17 +02:00
to_shmem style: Remove ThinBoxedSlice 2023-06-09 10:22:25 +02:00
to_shmem_derive Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
url Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
webdriver_server bump base64 from 0.10 to 0.21 (#29804) 2023-08-02 21:25:37 +00:00
webgpu Try to use WebRender types more 2023-07-10 17:35:50 +02:00
webrender_surfman Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
webrender_traits Try to use WebRender types more 2023-07-10 17:35:50 +02:00