Andreas Kling
4f855286d7
LibWeb: Clamp layout content sizes to a max value instead of crashing
...
We've historically asserted that no "saturated" size values end up as
final metrics for boxes in layout. This always had a chance of producing
false positives, since you can trivially create extremely large boxes
with CSS.
The reason we had those assertions was to catch bugs in our own engine
code where we'd incorrectly end up with non-finite values in layout
algorithms. At this point, we've found and fixed all known bugs of that
nature, and what remains are a bunch of false positives on pages that
create very large scrollable areas, iframes etc.
So, let's change it! We now clamp content width and height of boxes to
17895700 pixels, apparently the same cap as Firefox uses.
There's also the issue of calc() being able to produce non-finite
values. Note that we don't clamp the result of calc() directly, but
instead just clamp values when assigning them to content sizes.
Fixes #645 .
Fixes #1236 .
Fixes #1249 .
Fixes #1908 .
Fixes #3057 .
2025-02-05 18:28:55 +01:00
..
2025-02-05 11:26:58 +00:00
2025-01-30 15:00:16 +00:00
2025-01-21 11:34:06 -05:00
2025-02-05 18:28:46 +01:00
2025-02-05 18:28:55 +01:00
2025-02-02 17:18:56 +01:00
2024-12-22 12:33:41 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-12 00:35:58 +01:00
2025-01-12 00:35:58 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-23 16:43:55 +01:00
2024-11-23 16:43:55 +01:00
2025-01-21 11:34:06 -05:00
2024-11-26 10:59:50 +01:00
2024-11-15 14:49:20 +01:00
2024-12-09 12:31:16 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-12 18:40:37 +00:00
2025-01-12 18:40:37 +00:00
2025-02-05 11:26:58 +00:00
2025-02-05 11:26:58 +00:00
2025-01-30 15:00:16 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-30 15:50:06 -07:00
2025-01-30 15:50:06 -07:00
2025-01-30 15:50:06 -07:00
2025-01-30 15:50:06 -07:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-16 05:03:00 -08:00
2025-01-05 12:02:40 +01:00
2025-01-05 12:02:40 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-12 00:35:58 +01:00
2025-01-12 00:35:58 +01:00
2025-02-02 17:18:56 +01:00
2024-12-04 16:34:13 +00:00
2025-02-05 12:38:55 +00:00
2025-02-05 12:38:55 +00:00
2025-02-05 12:38:55 +00:00
2025-01-29 09:25:40 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-05 16:19:19 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2025-01-31 17:27:03 +00:00
2024-11-15 14:49:20 +01:00
2025-01-31 17:27:03 +00:00
2024-12-22 10:12:49 +01:00
2024-12-22 10:12:49 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2024-12-22 10:12:49 +01:00
2024-12-22 10:12:49 +01:00
2025-01-30 15:46:52 -07:00
2024-12-14 12:11:28 -08:00
2024-12-12 17:11:27 +00:00
2024-12-28 10:37:15 +01:00
2024-12-28 10:37:15 +01:00
2024-12-06 15:35:36 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-30 13:55:40 -07:00
2025-01-30 13:55:40 -07:00
2025-02-04 12:22:25 +01:00
2025-01-30 15:50:06 -07:00
2025-01-30 15:50:06 -07:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-02-05 18:28:46 +01:00
2025-02-05 18:28:46 +01:00
2025-01-24 09:08:37 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-12-22 10:12:49 +01:00
2024-12-22 10:12:49 +01:00
2025-01-10 23:33:35 +01:00
2025-01-10 23:33:35 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2025-02-05 12:38:55 +00:00
2024-11-15 14:49:20 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2024-12-22 10:12:49 +01:00
2024-12-22 10:12:49 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2025-01-28 11:24:40 +00:00
2024-11-15 14:49:20 +01:00
2025-01-31 17:27:03 +00:00
2025-01-31 17:27:03 +00:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2024-11-17 22:12:29 +01:00
2025-01-30 15:00:16 +00:00
2024-12-24 17:17:09 +01:00
2024-11-26 21:56:28 +00:00
2025-02-05 18:12:36 +01:00
2025-02-05 12:38:55 +00:00
2025-01-30 15:46:52 -07:00
2024-12-22 10:12:49 +01:00
2024-12-22 10:12:49 +01:00
2025-01-21 11:34:06 -05:00
2024-12-22 10:12:49 +01:00
2024-11-26 19:09:24 +01:00
2025-01-15 08:46:51 +01:00
2025-02-01 08:11:37 +00:00
2025-01-23 21:38:31 +01:00
2024-11-29 09:48:59 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2025-01-30 13:55:40 -07:00
2025-01-30 13:55:40 -07:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-26 11:40:42 +00:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2024-11-26 19:09:24 +01:00
2025-01-15 08:46:51 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2025-01-30 13:55:40 -07:00
2025-01-30 13:55:40 -07:00
2024-11-15 12:54:41 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2025-01-30 15:00:16 +00:00
2025-01-11 23:10:09 +01:00
2024-12-06 13:10:27 +00:00
2024-12-14 12:11:28 -08:00
2024-12-14 12:11:28 -08:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-26 11:40:42 +00:00
2025-02-05 18:28:46 +01:00
2025-02-05 18:28:46 +01:00
2025-02-05 18:12:36 +01:00
2025-02-05 12:38:55 +00:00
2025-02-04 22:19:25 +01:00
2025-02-04 22:19:25 +01:00
2025-01-23 21:38:31 +01:00
2025-01-23 21:38:31 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-30 13:55:40 -07:00
2025-01-30 13:55:40 -07:00
2025-01-15 08:46:51 +01:00
2024-11-15 14:49:20 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2024-12-24 17:17:09 +01:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2025-01-27 00:03:07 +00:00
2024-12-24 17:17:09 +01:00
2025-01-21 11:34:06 -05:00
2025-01-11 23:10:09 +01:00
2025-02-05 12:38:55 +00:00
2025-02-05 12:38:55 +00:00
2024-12-30 11:04:16 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-30 13:55:40 -07:00
2025-01-30 13:55:40 -07:00
2025-01-21 11:34:06 -05:00
2025-01-15 20:59:18 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-27 00:03:07 +00:00
2024-12-22 10:12:49 +01:00
2024-11-26 19:07:53 +01:00
2024-11-15 14:49:20 +01:00
2024-12-06 13:10:27 +00:00
2024-12-06 13:10:27 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2025-01-20 07:52:30 -05:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2025-01-30 15:00:16 +00:00
2024-11-15 14:49:20 +01:00
2025-02-04 12:24:50 +01:00
2025-02-04 12:24:50 +01:00
2025-01-27 00:03:07 +00:00
2024-11-15 14:49:20 +01:00
2025-02-04 12:24:50 +01:00
2025-02-04 12:24:50 +01:00
2025-02-04 12:24:50 +01:00
2025-02-04 12:24:50 +01:00
2025-02-04 12:24:50 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-04 16:34:13 +00:00
2024-12-04 16:34:13 +00:00
2025-01-21 11:34:06 -05:00
2024-12-04 16:34:13 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-07 08:38:02 +00:00
2025-01-11 11:10:43 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-02 06:47:49 +00:00
2025-01-21 11:34:06 -05:00
2024-11-30 11:19:35 +01:00
2024-11-30 11:19:35 +01:00
2025-01-21 11:34:06 -05:00
2024-12-02 10:25:27 +01:00
2024-12-02 10:25:27 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-25 21:13:53 +01:00
2025-01-30 15:00:16 +00:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2025-01-30 15:46:52 -07:00
2025-01-30 15:46:52 -07:00
2024-12-12 17:11:27 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-30 15:00:16 +00:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-03 00:18:11 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-11-11 17:06:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-20 18:01:21 -07:00
2024-12-03 00:18:11 +01:00
2024-12-06 06:59:40 +00:00
2024-11-15 14:49:20 +01:00
2025-01-30 19:31:54 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2025-01-02 11:31:15 +01:00
2024-12-25 11:57:14 +01:00
2024-12-25 11:57:14 +01:00
2024-12-25 11:57:14 +01:00
2025-01-31 14:29:48 +01:00
2024-12-03 21:32:01 +00:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-12 00:35:58 +01:00
2025-01-12 00:35:58 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-02-01 23:31:16 +01:00
2025-02-01 23:31:16 +01:00
2024-12-19 15:25:08 +00:00
2024-12-10 12:01:45 +00:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2025-01-27 00:03:07 +00:00
2025-01-12 18:39:24 +00:00
2024-12-05 21:35:59 +01:00
2024-12-25 12:01:56 +01:00
2025-01-30 15:00:16 +00:00
2025-01-12 18:49:55 +00:00
2025-01-21 11:34:06 -05:00
2024-12-26 19:10:44 +01:00
2024-12-10 10:37:01 -08:00
2025-01-21 11:34:06 -05:00
2024-11-15 14:49:20 +01:00
2024-11-15 14:49:20 +01:00
2024-12-26 19:10:44 +01:00
2024-11-15 14:49:20 +01:00
2024-12-10 10:37:01 -08:00
2024-12-03 00:18:11 +01:00
2024-12-06 13:10:27 +00:00
2024-12-04 16:34:13 +00:00
2024-11-30 12:07:39 +01:00
2024-11-30 11:19:35 +01:00
2024-11-30 11:19:35 +01:00
2024-11-30 11:19:35 +01:00
2024-11-30 11:19:35 +01:00
2024-11-30 11:19:35 +01:00