Ensure Element ID modifications inside disconnected shadow roots are registered (#34834)

* Add test for modifying element IDs in disconnected shadow roots

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

* Register element ID modifications inside disconnected shadow roots

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

* Don't crash when registering named elements in disconnected shadow roots

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

* Fix test title

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

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-01-04 06:45:27 +01:00 committed by GitHub
parent 1ab55e6b11
commit 75a22cfe2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 30 additions and 2 deletions

View file

@ -303,7 +303,7 @@ impl DocumentOrShadowRoot {
root: DomRoot<Node>,
) {
debug!("Adding named element {:p}: {:p} id={}", self, element, id);
assert!(element.upcast::<Node>().is_connected());
assert!(element.upcast::<Node>().is_connected_to_tree());
assert!(!id.is_empty());
let mut id_map = id_map.borrow_mut();
let elements = id_map.entry(id.clone()).or_default();