servo/components
Martin Robinson 30ab348116 Properly position absolutes with static insets that are children of floats
Previously, final float positions were calculated when their parents
were positioned. This prevented proper positioning of absolute children
of floats with static insets, because they accumulate offsets as they
are hoisted up the tree.

This change moves the final float positioning to
`PlacementState::place_fragment` for the float itself so that it happens
before any insets are updated for hoisted descendants. In addition to
simplifying the code, this makes it a bit more efficient. Finally,
floats are taken into account when updating static insets of hoisted
boxes.

Fixes #29826.
2023-06-22 01:55:21 +02: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 Further changes required by Servo 2023-05-24 18:32:39 +02:00
canvas_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
compositing Clean up and document the send_display_list interface 2023-05-24 09:16:25 +02:00
config Layout 2020: Remove the floats preference 2023-06-13 19:30:54 +02:00
config_plugins Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
constellation Start the transition to workspace dependencies 2023-05-17 11:59:35 +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 Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
geometry Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
gfx Further changes required by Servo 2023-06-09 10:22:20 +02:00
gfx_traits Clean up and document the send_display_list interface 2023-05-24 09:16:25 +02:00
jstraceable_derive Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
layout Clean up and document the send_display_list interface 2023-05-24 09:16:25 +02:00
layout_2020 Properly position absolutes with static insets that are children of floats 2023-06-22 01:55:21 +02:00
layout_thread Layout-2020: Serialize access to stylo thread pool. 2023-05-26 20:09:50 +05:30
layout_thread_2020 Layout-2020: Serialize access to stylo thread pool. 2023-05-26 20:09:50 +05:30
layout_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
malloc_size_of style: Remove ThinBoxedSlice 2023-06-09 10:22:25 +02:00
media Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
metrics Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
msg Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
net Update tungstenite 2023-05-20 21:55:00 +00:00
net_traits Auto merge of #29637 - AnthonyJ3:Use-same-origin-as-default-credential-mode-for-RequestInit-fix, r=mukilan 2023-05-18 14:16:45 +02: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 Start the transition to workspace dependencies 2023-05-17 11:59:35 +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 Avoid assert failure when using @import 2023-06-14 15:58:00 +02:00
script_layout_interface Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
script_plugins Upgrade remaining components to edition 2018 2023-02-18 09:42:37 +01:00
script_traits Clean up and document the send_display_list interface 2023-05-24 09:16:25 +02:00
selectors style: Remove layout.css.is-and-where-better-error-recovery.enabled 2023-05-24 18:32:43 +02:00
servo Start the transition to workspace dependencies 2023-05-17 11:59:35 +02: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 Avoid assert failure when using @import 2023-06-14 15:58:00 +02:00
style_derive Upgrade darling to 0.13.1 2023-06-09 11:17:48 +02:00
style_traits style: Make #[css(field_bound)] and #[css(iterable)] work properly 2023-06-09 10:22: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 Fix compiler warning introduced in 4aa8a1c418 2023-05-20 02:03:58 +00:00
webgpu Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
webrender_surfman Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00
webrender_traits Start the transition to workspace dependencies 2023-05-17 11:59:35 +02:00