servo/components
Josh Matthews 9aa09d73b5
Fix crash when setting custom property on Location (#36494)
The JS engine uses types like `Handle<Maybe<PropertyDescriptor>>` in
various places and our automated bindings are not able to handle the
Maybe type. We have hand-written bindings that use outparams to indicate
a PropertyDescriptor value is actually the Nothing type, but that data
was getting lost when we passed the property descriptor to
SetPropertyIgnoringNamedGetter, which assumed that the property
descriptor was always valid.

Depends on https://github.com/servo/mozjs/pull/579.

Testing: Manual testing on testcase from
https://github.com/servo/servo/issues/34709, and new crashtest added.
Fixes: #34709

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-16 06:52:48 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
compositing compositing: Remove compositing_traits::MouseWindowEvent (#36550) 2025-04-15 19:54:43 +00:00
config Remove unused pref: dom_forcetouch_enabled (#36524) 2025-04-15 02:18:11 +00:00
constellation Revert "compositor: Unify the cross process and in-process API (#36443)" (#36533) 2025-04-15 09:15:14 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools Devtools: initial Debugger > Sources panel (#36164) 2025-04-08 09:22:53 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Update FetchTaskTarget to propagate CSP violations. (#36409) 2025-04-13 20:54:59 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout_2020 layout: Floor the max-content size by the min-content size (#36518) 2025-04-14 18:00:32 +00:00
layout_thread_2020 compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
malloc_size_of Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
media compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
metrics Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
net Update FetchTaskTarget to propagate CSP violations. (#36409) 2025-04-13 20:54:59 +00:00
pixels Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
profile Make the memory reporting multi-process aware (#35863) 2025-04-05 05:42:12 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script media element: support seekable attribute (#36541) 2025-04-16 05:52:19 +00:00
script_bindings Fix crash when setting custom property on Location (#36494) 2025-04-16 06:52:48 +00:00
servo compositor: Unify the cross process and in-process API (#36543) 2025-04-15 18:31:46 +00:00
shared Implement GetComputedRole in wd (#36552) 2025-04-16 03:55:15 +00:00
timers Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
url Check all ancestor navigable trustworthiness for mixed content (#36157) 2025-04-05 05:38:24 +00:00
webdriver_server Implement GetComputedRole in wd (#36552) 2025-04-16 03:55:15 +00:00
webgpu compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
webxr Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00