servo/components
Sebastian C 103cbed928
HSTS list memory reduction and fixes (#37000)
Combines the 2 time values in the HSTS entry with a single timestamp for
expiration. (9MB savings per list)

The previous time representations were based on system boot time which
meant that the `hsts_list.json` round trip across boots resulted in
completely erroneous expiration times.

The preload list is now initialized separately from the public and
private lists and shared by both, cutting memory use in half.

Overall takes memory use from 64MB for HSTS to 24MB.

Expired HSTS entries are now removed from the list when updating an
entry and subdomains can be added to a list if the superdomain does not
already include them.

Testing: New unit tests added
Related to #25929 but the next step would be to attempt to use
https://github.com/BurntSushi/fst Which will be explored in a follow-up.

---------

Signed-off-by: Sebastian C <sebsebmc@gmail.com>
2025-05-15 04:06:57 +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 canvas: Move generic implementations into GenericPathBuilder trait (#36999) 2025-05-14 03:51:56 +00:00
compositing Remove duplicate click event in simulate_mouse_click (#36957) 2025-05-13 10:25:09 +00:00
config Remove some references to layout 2013 vs layout 2020 (#37007) 2025-05-14 19:53:48 +00:00
constellation libservo: Allow embedders to execute JavaScript scripts via the API (#35720) 2025-05-13 12:54:18 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools DevTools: Improve resource_available to handle multiple connections (#36933) 2025-05-09 12:06:33 +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 Various memory measurement improvements (#36834) 2025-05-07 04:00:12 +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 layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
malloc_size_of layout: Share styles to inline box children via SharedInlineStyles (#36896) 2025-05-12 09:38:50 +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 HSTS list memory reduction and fixes (#37000) 2025-05-15 04:06:57 +00:00
pixels pixels: Actually write pixels in MULTIPLY generic_transform_inplace operations (#36895) 2025-05-08 07:38:02 +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 Implement inner slot for cryptographic nonce (#36965) 2025-05-14 10:21:21 +00:00
script_bindings Implement iframe.srcdoc trusted type sink (#36960) 2025-05-13 21:07:13 +00:00
servo libservo: Allow embedders to execute JavaScript scripts via the API (#35720) 2025-05-13 12:54:18 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared libservo: Allow embedders to execute JavaScript scripts via the API (#35720) 2025-05-13 12:54:18 +00:00
timers Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
url Various memory measurement improvements (#36834) 2025-05-07 04:00:12 +00:00
webdriver_server chore: update webdriver to 0.53 (#37001) 2025-05-14 08:22:40 +00:00
webgl webgl: Use glow::Context::supported_extensions() to implement getSupportedExtensions() (#36911) 2025-05-08 08:34:52 +00:00
webgpu Introduce snapshot concept of canvas (#36119) 2025-04-23 07:32:47 +00:00
webxr libservo: Expose a ServoBuilder (#36549) 2025-04-16 16:58:52 +00:00