Andreas Kling
60113a3be2
LibWeb: Schedule attribute :has() walks on enclosing shadow scopes
...
The property-based Node::invalidate_style only collected the element's
own shadow scope (when the element itself was a shadow host), not the
shadow scopes of enclosing hosts. So a class or attribute change on a
light-DOM descendant of a shadow host could not flip
:host(...:has(.descendant)) rules in that host's shadow root.
Walk parent_or_shadow_host from the mutated element and add every
enclosing shadow root's StyleScope to the set we check :has()
metadata against, schedule walks on, and run invalidation plans
through.
2026-04-26 10:40:58 +02:00
..
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-08 10:37:05 +01:00
2026-04-08 10:37:05 +01:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2025-10-20 10:51:19 +01:00
2026-02-11 20:02:28 +01:00
2026-03-21 10:29:54 +01:00
2025-08-23 16:04:36 -06:00
2026-04-01 19:41:46 +01:00
2026-04-01 19:41:46 +01:00
2026-04-21 07:36:13 +02:00
2025-11-10 22:55:38 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-07-24 19:00:20 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-14 16:23:18 -05:00
2026-04-24 20:08:29 +02:00
2025-07-24 19:00:20 +02:00
2025-07-24 19:00:20 +02:00
2026-04-21 07:36:13 +02:00
2025-07-24 19:00:20 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-08-23 16:04:36 -06:00
2026-04-24 20:08:29 +02:00
2026-04-24 18:58:48 +02:00
2026-04-26 10:40:58 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-08-23 16:04:36 -06:00
2026-04-24 20:08:29 +02:00
2025-12-24 10:19:28 +01:00
2025-12-24 10:19:28 +01:00
2026-04-22 13:27:45 +01:00
2026-04-01 06:47:59 +02:00
2025-06-24 09:56:14 +02:00
2026-02-14 20:22:40 +01:00
2026-02-11 20:02:28 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-06-19 07:55:47 -04:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-08 18:51:13 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-11 22:54:39 +00:00
2026-02-17 10:24:00 +01:00
2026-01-29 15:08:06 +01:00
2026-04-26 10:40:58 +02:00
2026-04-22 14:05:49 +01:00
2026-04-24 20:08:29 +02:00
2026-02-21 13:56:00 +01:00
2026-02-21 13:56:00 +01:00
2026-03-27 19:49:55 +00:00
2026-03-27 19:49:55 +00:00
2026-04-21 07:36:13 +02:00
2025-10-15 15:36:34 +02:00
2026-04-24 20:08:29 +02:00
2026-03-10 16:57:36 +01:00
2026-04-24 20:08:29 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-06 13:50:54 +01:00
2026-04-24 20:08:29 +02:00
2026-02-11 20:02:28 +01:00
2026-04-21 07:36:13 +02:00
2025-12-17 11:41:21 +01:00
2026-04-24 20:08:29 +02:00
2026-01-29 15:08:06 +01:00
2026-02-14 20:22:40 +01:00
2026-04-21 07:36:13 +02:00
2026-03-11 17:56:12 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2025-08-23 16:04:36 -06:00
2026-04-21 07:36:13 +02:00
2025-08-23 16:04:36 -06:00
2026-04-24 20:08:29 +02:00
2026-04-26 10:40:58 +02:00
2026-04-22 14:05:49 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-11 21:16:44 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-11 21:16:44 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-08-23 16:04:36 -06:00
2026-04-24 20:08:29 +02:00
2025-12-11 22:54:39 +00:00
2025-07-24 19:00:20 +02:00
2026-04-19 21:32:55 +02:00
2026-02-14 20:22:40 +01:00
2026-04-24 20:08:29 +02:00
2025-08-20 12:25:00 +01:00
2026-02-11 20:02:28 +01:00
2026-04-21 07:36:13 +02:00
2025-07-24 19:00:20 +02:00
2026-04-24 20:08:29 +02:00
2025-06-19 12:35:31 +01:00
2026-02-26 21:09:08 +01:00
2025-07-09 14:36:08 +02:00
2025-08-23 16:04:36 -06:00
2026-04-21 07:36:13 +02:00
2026-01-30 20:57:42 +01:00
2026-04-24 20:08:29 +02:00
2026-03-17 18:58:37 -05:00
2026-02-11 20:02:28 +01:00
2026-04-21 07:36:13 +02:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-01-31 11:44:20 +01:00
2026-01-31 11:44:20 +01:00
2026-01-31 11:44:20 +01:00
2026-02-07 16:43:50 +01:00
2026-02-07 16:43:50 +01:00
2026-02-11 20:02:28 +01:00
2026-02-14 20:22:40 +01:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-03-28 23:14:55 +01:00
2026-02-12 16:23:12 +01:00
2026-04-15 11:07:38 +01:00
2026-04-20 13:20:41 +02:00
2026-04-20 13:20:41 +02:00
2026-04-21 07:36:13 +02:00
2026-02-07 16:43:50 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-11 21:16:44 +01:00
2026-04-24 20:08:29 +02:00
2026-03-10 15:17:51 +01:00
2026-02-11 20:02:28 +01:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00