mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
This PR updates the validity state revalidation behavior for radio input elements, ensuring consistent logic regardless of tree connectivity. --- **What’s changed:** - we now always update the validity state. - Handled more edge cases for disconnected trees, shadow roots, and cross-tree movement. - Ensured that radio group updates still trigger when a parent is moved into a different root. - Updated test expectations in `radio-disconnected-group-owner.html.ini`. --- **Why this matters:** The updated logic aligns better with the [HTML specification](https://html.spec.whatwg.org/multipage/input.html#radio-button-group), especially regarding radio group behavior in disconnected trees or shadow DOM. These changes improve validity propagation in scenarios like: - Appending inputs into a disconnected form - Shadow roots acting as radio group containers - Cross-tree movement of radio buttons --- **Tests:** - Modified `radio-disconnected-group-owner.html.ini` - Removed a test that now passes - Added a failing test expectation caused by a spec bug: the fragment parsing algorithm uses the connected tree for HTML set via `innerHTML`, affecting radio group computation --- **Spec reference:** https://html.spec.whatwg.org/multipage/input.html#radio-button-group --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report an errors - [ ] These changes fix # <!-- Either: --> - [X] There are tests for these changes Signed-off-by: Emmanuel Paul Elom <elomemmanuel007@gmail.com> |
||
---|---|---|
.. | ||
docs | ||
dom | ||
layout_dom | ||
svgpath | ||
xpath | ||
animation_timeline.rs | ||
animations.rs | ||
body.rs | ||
build.rs | ||
canvas_context.rs | ||
canvas_state.rs | ||
Cargo.toml | ||
clipboard_provider.rs | ||
conversions.rs | ||
devtools.rs | ||
document_collection.rs | ||
document_loader.rs | ||
drag_data_store.rs | ||
fetch.rs | ||
iframe_collection.rs | ||
image_animation.rs | ||
init.rs | ||
layout_image.rs | ||
lib.rs | ||
links.rs | ||
messaging.rs | ||
microtask.rs | ||
mime.rs | ||
navigation.rs | ||
network_listener.rs | ||
realms.rs | ||
routed_promise.rs | ||
script_module.rs | ||
script_runtime.rs | ||
script_thread.rs | ||
security_manager.rs | ||
serviceworker_manager.rs | ||
stylesheet_loader.rs | ||
stylesheet_set.rs | ||
task.rs | ||
task_manager.rs | ||
task_queue.rs | ||
task_source.rs | ||
test.rs | ||
textinput.rs | ||
timers.rs | ||
unminify.rs | ||
webdriver_handlers.rs | ||
window_named_properties.rs |