servo/components/script
Simon Wülker dabe162d44
Implement shadow dom slots (#35013)
* Implement slot-related algorithms

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Hook up slot elements to DOM creation logic

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Set a slot assignment mode for servo-internal shadow roots

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Assign slots when a slottable's slot attribute changes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Properly compute slot name

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* ./mach test-tidy

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update <slot> name when name attribute changes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement fast path for Node::assign_slottables_for_a_tree

assign_slottables_for_a_tree traverses all descendants of the node
and is potentially very expensive. If the node is not a shadow root
then assigning slottables to it won't have any effect, so we
take a fast path out.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Move slottable data into ElementRareData

This shrinks all element descendants back to their
original size.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Address review comments

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-19 14:05:05 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom Implement shadow dom slots (#35013) 2025-01-19 14:05:05 +00:00
layout_dom script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
xpath script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
animation_timeline.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
animations.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
body.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
build.rs Remove workaround for fixed ICE (#35069) 2025-01-19 04:13:17 +00:00
canvas_state.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
Cargo.toml script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
clipboard_provider.rs
conversions.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
devtools.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
document_collection.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
document_loader.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
drag_data_store.rs DataTransfer: propagate CanGc argument (#35062) 2025-01-18 18:24:49 +00:00
fetch.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
iframe_collection.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
image_listener.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
init.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
layout_image.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
lib.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
links.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
mem.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
messaging.rs script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +00:00
microtask.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
navigation.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
network_listener.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
realms.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
script_module.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
script_runtime.rs Fix crash when using builtin memory profiler (#35058) 2025-01-19 04:39:31 +00:00
script_thread.rs script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
security_manager.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
serviceworker_manager.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
stylesheet_loader.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
stylesheet_set.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task_manager.rs Implement HTMLCanvasElement.toBlob (#34938) 2025-01-10 19:04:42 +00:00
task_queue.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task_source.rs Implement HTMLCanvasElement.toBlob (#34938) 2025-01-10 19:04:42 +00:00
test.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
textinput.rs Implement Clipboard Event Api (#33576) 2025-01-15 19:45:29 +00:00
timers.rs Fix crash when using builtin memory profiler (#35058) 2025-01-19 04:39:31 +00:00
unminify.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
unpremultiplytable.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
webdriver_handlers.rs webdriver: Serialize JS int values as i32. (#34997) 2025-01-15 08:15:37 +00:00
window_named_properties.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00