Andreas Kling
0b4cea5b29
LibWeb: Coalesce safe :has() child-list invalidations
...
Avoid repeated :has() child-list scheduling when pending data already
covers every concrete feature bucket used by :has() selectors in a style
scope. Featureless-sensitive scopes record child-list mutations
conservatively instead.
That conservative path avoids scanning mutation subtrees for concrete
features when invalidation cannot rely on them anyway. When loading
the Intel ISA PDF in pdf.js, instrumented subtree feature-collection
visits at about 40k style invalidations dropped from around 71k to 1.6k,
saving ~650ms of main thread time on my Linux machine. :^)
2026-04-30 14:31:28 +02:00
..
2026-04-30 14:31:28 +02:00
2026-04-30 09:32:22 +02:00
2026-04-29 04:33:35 +02:00
2026-04-13 19:24:43 +02:00
2026-04-13 19:24:43 +02:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-03-09 14:36:18 +00:00
2026-03-09 14:36:18 +00:00
2025-10-22 00:01:30 +02:00
2026-04-22 20:59:00 +02:00
2026-04-22 20:59:00 +02:00
2026-04-22 11:52:56 +01:00
2026-04-22 11:52:56 +01:00
2026-04-22 11:52:56 +01:00
2026-04-16 12:06:10 +02:00
2026-04-24 07:34:54 +01:00
2026-04-15 11:07:38 +01:00
2026-04-15 11:07:38 +01:00
2026-03-30 14:49:24 +01:00
2026-03-30 14:49:24 +01:00
2026-03-21 18:20:09 -05:00
2026-03-21 18:20:09 -05:00
2026-04-15 11:07:38 +01:00
2026-04-15 11:07:38 +01:00
2026-03-26 12:30:01 +01:00
2026-04-15 11:07:38 +01:00
2026-04-22 20:59:00 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-21 23:16:32 -05: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-21 07:36:13 +02:00
2026-03-30 14:49:24 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-04-15 11:07:38 +01:00
2026-04-24 20:08:29 +02:00
2026-03-27 11:19:28 +00:00
2026-03-27 11:19:28 +00:00
2026-04-21 07:36:13 +02:00
2026-01-05 16:15:58 +00:00
2026-04-24 20:08:29 +02:00
2026-04-28 00:15:30 +02:00
2026-04-28 00:15:30 +02:00
2026-04-24 20:08:29 +02:00
2026-03-20 16:08:32 -05:00
2026-04-21 07:36:13 +02:00
2026-02-17 12:25:27 +00:00
2026-04-21 07:36:13 +02:00
2026-03-20 16:08:32 -05:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-27 11:19:28 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-27 11:19:28 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-27 11:19:28 +00: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-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-12 16:23:12 +01:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-09 17:14:20 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-09 17:14:20 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-01-12 11:51:15 +00: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-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-04-28 19:06:29 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-03-27 11:19:28 +00: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-22 14:24:12 +01: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-21 07:36:13 +02:00
2025-12-04 16:24:04 +00: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-21 07:36:13 +02:00
2026-01-09 10:54:37 +00: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-21 07:36:13 +02:00
2026-03-30 14:49:24 +01:00
2026-04-24 20:08:29 +02:00
2026-04-28 19:06:29 +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-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-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-11 20:02:28 +01:00
2026-04-28 09:49:50 +02: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-12-04 16:24:04 +00:00
2026-04-24 20:08:29 +02:00
2026-04-28 19:06:29 +02:00
2026-04-28 13:07:52 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-04-21 07:36:13 +02:00
2025-12-04 16:24:04 +00: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-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-21 07:36:13 +02:00
2026-02-18 08:02:45 -05: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-21 07:36:13 +02:00
2026-01-09 17:14:20 +00: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-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-04-22 20:59:00 +02:00
2026-04-22 20:59:00 +02:00
2026-04-22 20:59:00 +02:00
2026-03-21 07:40:25 +00:00
2026-03-27 11:19:28 +00:00
2026-03-27 11:19:28 +00:00
2026-03-30 19:57:36 +01:00
2026-02-21 15:53:22 +01:00
2026-02-21 15:53:22 +01:00
2026-03-30 14:05:10 +01:00
2026-03-26 12:30:01 +01:00
2026-03-30 14:05:10 +01:00
2026-03-30 14:05:10 +01:00
2026-04-24 20:08:29 +02:00
2026-03-26 12:15:36 +00:00
2026-04-29 04:33:35 +02:00
2026-01-09 10:54:11 +00:00
2026-02-16 12:09:23 +00:00
2026-02-16 12:09:23 +00:00
2026-04-09 21:41:49 +01:00
2026-04-09 21:41:49 +01:00
2026-04-25 17:06:28 +02:00
2026-04-25 17:06:28 +02:00
2026-04-28 00:15:30 +02:00
2026-04-25 17:06:28 +02:00
2026-04-25 17:06:28 +02:00
2026-04-21 07:36:13 +02:00
2026-04-25 17:06:28 +02:00
2026-04-21 07:36:13 +02:00
2026-01-06 12:24:42 +01:00
2026-04-24 20:08:29 +02:00
2026-04-24 07:34:54 +01:00
2026-04-24 07:34:54 +01:00
2026-04-18 23:46:20 +02:00
2026-04-18 23:46:20 +02:00
2026-04-13 19:24:43 +02:00
2026-04-13 19:24:43 +02:00
2026-03-30 14:05:10 +01:00
2026-03-30 14:05:10 +01:00
2026-04-24 07:34:54 +01:00
2026-04-09 21:41:49 +01:00
2026-04-27 19:06:01 +02:00
2026-04-21 07:36:13 +02:00
2026-04-20 13:20:41 +02:00
2026-04-20 13:20:41 +02:00
2026-04-24 07:34:54 +01:00
2026-04-08 14:31:43 +01:00
2026-03-31 10:06:18 +02:00
2026-04-24 20:08:29 +02:00
2026-03-25 12:53:22 +00:00
2025-12-01 11:00:33 +00:00
2026-04-28 19:06:29 +02:00
2026-02-09 21:44:47 +01:00
2026-03-25 16:02:04 +00:00
2026-03-24 14:00:01 +00:00
2026-03-30 14:05:10 +01: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-03-26 12:30:01 +01:00
2026-03-26 12:30:01 +01:00
2026-04-22 14:24:12 +01:00
2025-10-27 14:50:54 +00:00
2026-03-27 11:19:28 +00:00
2026-03-26 12:30:01 +01:00
2026-03-30 14:05:10 +01:00
2026-03-30 14:05:10 +01:00
2026-04-13 19:24:43 +02:00
2026-04-22 14:24:12 +01:00
2025-10-27 14:50:54 +00:00
2026-02-23 18:44:26 +00:00
2026-02-23 18:44:26 +00:00
2026-04-08 10:37:05 +01:00
2026-03-24 14:00:01 +00:00
2026-03-24 14:00:01 +00:00
2026-04-21 07:36:13 +02:00
2025-12-12 10:17:00 +00:00
2026-04-24 20:08:29 +02: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-04-10 15:00:58 +01:00
2026-04-10 15:00:58 +01:00
2026-04-28 15:34:49 +02:00
2026-04-20 13:20:41 +02:00
2026-04-10 15:00:58 +01:00
2026-01-09 10:00:58 +01:00
2026-04-24 07:34:54 +01:00
2026-04-09 21:41:49 +01:00
2026-03-03 17:14:19 +01:00
2026-02-18 08:02:45 -05:00
2026-04-29 04:54:11 +02:00
2026-04-28 13:07:52 +02:00
2026-04-25 08:47:47 +02:00
2026-04-25 08:47:47 +02:00
2026-04-28 15:34:49 +02:00
2026-04-28 15:34:49 +02:00
2025-11-12 11:19:37 +01:00
2025-11-12 11:19:37 +01: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-30 14:31:28 +02:00
2026-04-30 14:31:28 +02:00
2026-04-21 07:36:13 +02:00
2026-04-23 16:45:22 +02:00
2026-04-24 20:08:29 +02:00
2026-04-29 15:47:23 +02:00
2026-04-28 09:49:50 +02:00
2026-04-23 16:45:22 +02:00
2026-04-24 20:08:29 +02:00
2026-03-29 21:27:20 +01:00
2026-03-29 21:27:20 +01:00
2026-02-06 10:47:50 +00:00
2026-04-13 19:24:43 +02:00
2026-04-13 19:24:43 +02:00
2026-04-21 07:36:13 +02:00
2026-04-24 20:08:29 +02:00
2026-02-19 11:27:06 +00:00
2026-02-19 11:27:06 +00:00
2026-04-22 14:24:12 +01:00
2026-04-22 14:24:12 +01:00
2026-04-29 11:42:57 +01:00
2026-04-21 07:36:13 +02:00
2026-03-31 10:37:23 +02:00
2026-04-24 20:08:29 +02:00