servo/components
bors-servo 93615e14e5
Auto merge of #28742 - jdm:hypothetical-inc-reflow, r=jdm
Ensure reflow damage is calculated when hypothetical box changes.

The layout traversal code has special handling for deciding whether to traverse text nodes or not. Specifically, unless the parent of a text node is restyled in a way that requires reconstructing the text fragment, we skip processing the text nodes as a performance optimization.

The optimization causes a problem in hypothetical-box-dynamic.html, which tests that the rendering doesn't change when an absolutely-positioned span has an explicit block display removed (because absolutely-positioned elements should have hypothetical block boxes, regardless). However, the code to decide what restyling damage occurs when the block display is removed did not consider the hypothetical display, only the internal display value that treats absolute positioning as block display.

By explicitly comparing the hypothetical display as well as the internal display, we ensure the element is restyled appropriately and the layout matches after the change.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
2022-03-15 01:16:16 -04:00
..
allocator
atoms Implement GPUUncapturedErrorEvent 2020-08-11 14:24:58 +05:30
background_hang_monitor fix(bhm): deliver exit signal reliably (for real) 2021-06-21 00:07:26 +09:00
bluetooth feat: shorten thread names 2021-07-19 00:57:48 +09:00
bluetooth_traits Some Cargo.toml cleanups 2020-05-13 22:09:56 -07:00
canvas Updated cssparser dependency to 0.29. 2021-11-18 16:16:46 +01:00
canvas_traits Updated cssparser dependency to 0.29. 2021-11-18 16:16:46 +01:00
compositing Use IpcBytesReceiver to send Display list data 2022-03-10 20:07:59 +08:00
config move servo_version from config crate to ports/libsimpleservo/api/src/lib.rs and duplicate in ports/winit/main2.rs 2022-03-06 01:43:46 +01:00
config_plugins Fix warnings introduced in newer Rust Nightly 2021-02-25 15:36:03 +01:00
constellation Upgrade Hyper 2022-01-16 09:34:17 -08:00
deny_public_fields
derive_common Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
devtools Upgrade Hyper 2022-01-16 09:34:17 -08:00
devtools_traits Upgrade Hyper 2022-01-16 09:34:17 -08:00
dom_struct
domobject_derive More Cargo.toml cleanups 2020-05-14 22:20:18 -07:00
embedder_traits Improve IME messaging to embedder with insertion point index and multiline flag. 2021-03-29 17:55:54 +13:00
fallible More Cargo.toml cleanups 2020-05-14 22:20:18 -07:00
geometry
gfx use SerializedFontTemplate and IpcBytesReceiver to send font template when responding to GetFontTemplate 2022-03-08 13:57:07 +01:00
gfx_traits Update webrender. 2020-06-11 14:07:39 -04:00
hashglobe Fix UB in hashglobe 2021-10-09 00:01:04 +08:00
jstraceable_derive
layout Update nightly rustc. 2021-11-01 08:46:18 -04:00
layout_2020 fmt 2021-11-30 18:13:39 -08:00
layout_thread feat: shorten thread names 2021-07-19 00:57:48 +09:00
layout_thread_2020 feat: shorten thread names 2021-07-19 00:57:48 +09:00
layout_traits ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
malloc_size_of Upgrade Hyper 2022-01-16 09:34:17 -08:00
media feat: shorten thread names 2021-07-19 00:57:48 +09:00
metrics Remove support for energy profiling 2020-06-04 16:39:08 +02:00
msg ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
net Upgrade Hyper 2022-01-16 09:34:17 -08:00
net_traits Upgrade Hyper 2022-01-16 09:34:17 -08:00
pixels More Cargo.toml updates 2020-05-30 18:18:57 -07:00
profile feat: shorten thread names 2021-07-19 00:57:48 +09:00
profile_traits Bump time to latest v0.1.x version. 2021-06-25 17:19:14 +01:00
rand
range More Cargo.toml updates 2020-05-30 18:18:57 -07:00
remutex Fix rust's remutex source code link 2020-06-01 21:24:05 +09:00
script Auto merge of #28663 - saschanaz:void-undefined, r=jdm 2022-01-16 23:06:45 -05:00
script_layout_interface ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
script_plugins Update rustc to 3/6 nightly. 2022-03-06 18:11:57 -05:00
script_traits Use IpcBytesReceiver to send Display list data 2022-03-10 20:07:59 +08:00
selectors Updated cssparser dependency to 0.29. 2021-11-18 16:16:46 +01:00
servo Create initial browser id for compositor on startup. 2021-10-18 09:58:32 -04:00
servo_arc More Cargo.toml updates 2020-05-30 18:18:57 -07:00
size_of_test
std_test_override
style Ensure reflow damage is calculated when hypothetical box changes. 2022-03-14 12:20:46 -04:00
style_derive style: Fix clippy warnings 2021-02-26 17:15:33 +01:00
style_traits Updated cssparser dependency to 0.29. 2021-11-18 16:16:46 +01:00
to_shmem Updated cssparser dependency to 0.29. 2021-11-18 16:16:46 +01:00
to_shmem_derive Fix warnings introduced in newer Rust Nightly 2021-02-25 15:36:03 +01:00
url feat: shorten thread names 2021-07-19 00:57:48 +09:00
webdriver_server Upgrade Hyper 2022-01-16 09:34:17 -08:00
webgpu Pin git revisions of dependencies that aren't compatible in newer revisions. 2020-11-12 15:47:07 -05:00
webrender_surfman Update to winit 0.24. 2021-03-05 20:00:30 -05:00
webrender_traits Implement GPUSwapChain and GPUCanvasContext and interface with Webrender 2020-06-13 17:46:12 +05:30