Karol Kosek
eb41f0144b
AK: Decode data URLs to separate class (and parse like every other URL)
...
Parsing 'data:' URLs took it's own route. It never set standard URL
fields like path, query or fragment (except for scheme) and instead
gave us separate methods called `data_payload()`, `data_mime_type()`,
and `data_payload_is_base64()`.
Because parsing 'data:' didn't use standard fields, running the
following JS code:
new URL('#a', 'data:text/plain,hello').toString()
not only cleared the path as URLParser doesn't check for data from
data_payload() function (making the result be 'data:#a'), but it also
crashes the program because we forbid having an empty MIME type when we
serialize to string.
With this change, 'data:' URLs will be parsed like every other URLs.
To decode the 'data:' URL contents, one needs to call process_data_url()
on a URL, which will return a struct containing MIME type with already
decoded data! :^)
2023-08-01 14:19:05 +02:00
..
2023-06-18 20:31:11 +02:00
2023-05-28 18:00:54 +02:00
2023-07-19 14:11:43 +01:00
2023-07-07 05:27:25 +02:00
2023-07-15 16:21:29 +02:00
2023-07-15 09:45:16 +02:00
2023-03-15 14:55:49 +01:00
2023-04-24 07:55:20 +02:00
2023-03-21 09:39:49 +00:00
2023-05-21 07:44:29 +02:00
2023-05-21 07:44:29 +02:00
2023-03-06 13:05:43 +00:00
2023-03-07 23:33:34 +00:00
2023-07-12 10:05:42 +03:30
2023-07-12 10:05:42 +03:30
2023-06-21 06:14:15 +02:00
2023-06-21 06:14:15 +02:00
2023-06-13 06:14:01 +02:00
2023-06-13 06:14:01 +02:00
2023-06-13 06:14:01 +02:00
2023-06-13 06:14:01 +02:00
2023-07-31 05:18:51 +02:00
2023-07-08 10:32:56 +01:00
2023-04-26 15:51:50 +02:00
2023-04-26 15:51:50 +02:00
2023-06-18 20:31:11 +02:00
2023-06-18 20:31:11 +02:00
2023-06-18 20:31:11 +02:00
2023-04-07 22:41:01 +02:00
2023-05-12 05:47:36 +02:00
2023-05-12 05:47:36 +02:00
2023-05-21 07:44:29 +02:00
2023-05-21 07:44:29 +02:00
2023-04-28 18:11:44 +02:00
2023-05-03 09:39:49 +02:00
2023-06-21 16:30:27 +02:00
2023-04-07 22:41:01 +02:00
2023-04-30 06:04:33 +02:00
2023-04-30 06:04:33 +02:00
2023-04-06 23:49:08 +02:00
2023-06-28 05:22:51 +02:00
2023-04-19 18:26:45 +02:00
2023-06-19 06:12:26 +02:00
2023-06-19 06:12:26 +02:00
2023-06-19 06:12:26 +02:00
2023-04-07 22:41:01 +02:00
2023-04-07 22:41:01 +02:00
2023-04-15 14:05:00 +02:00
2023-04-25 12:54:01 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-03-31 11:36:41 +01:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-06-16 13:50:15 +02:00
2023-06-16 13:50:15 +02:00
2023-03-23 13:37:40 +01:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-05-08 09:29:44 +02:00
2023-07-03 19:04:45 +02:00
2023-07-08 10:32:56 +01:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-06-19 06:12:26 +02:00
2023-06-19 06:12:26 +02:00
2023-06-18 19:07:06 +02:00
2023-08-01 14:19:05 +02:00
2023-05-26 05:23:09 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-06-03 05:56:00 +02:00
2023-07-08 10:32:56 +01:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-06-16 06:55:21 +02:00
2023-06-16 06:55:21 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-06-21 16:30:27 +02:00
2023-06-21 16:30:27 +02:00
2023-06-21 16:30:27 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-05-28 13:24:37 +02:00
2023-04-06 11:36:56 +02:00
2023-06-25 11:28:32 +02:00
2023-06-25 11:28:32 +02:00
2023-06-19 06:12:26 +02:00
2023-04-06 11:36:56 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-05-08 09:29:44 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-05-08 09:29:44 +02:00
2023-04-06 11:36:56 +02:00
2023-07-31 05:18:51 +02:00
2023-06-19 06:12:26 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-07-29 11:58:51 +02:00
2023-07-29 11:58:51 +02:00
2023-04-06 11:36:56 +02:00
2023-07-03 19:04:45 +02:00
2023-07-08 10:32:56 +01:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-07-08 10:32:56 +01:00
2023-04-06 11:36:56 +02:00
2023-07-24 02:28:21 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-05-28 13:24:37 +02:00
2023-04-06 11:36:56 +02:00
2023-07-06 15:18:50 -04:00
2023-07-03 19:07:26 +02:00
2023-06-16 13:50:15 +02:00
2023-04-06 11:36:56 +02:00
2023-07-28 11:12:25 +02:00
2023-07-28 11:12:25 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-04-06 11:36:56 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-06 11:36:56 +02:00
2023-05-23 14:38:45 +02:00
2023-03-23 13:37:40 +01:00
2023-05-08 09:29:44 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-05-08 09:29:44 +02:00
2023-04-06 11:36:56 +02:00
2023-05-26 05:23:09 +02:00
2023-05-26 05:23:09 +02:00
2023-03-23 13:37:40 +01:00
2023-04-06 11:36:56 +02:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-05-12 05:47:36 +02:00
2023-03-06 13:05:43 +00:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-05-13 15:51:44 +02:00
2023-05-13 15:51:44 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-06-09 17:14:50 +02:00
2023-06-09 17:14:50 +02:00
2023-04-06 11:36:56 +02:00
2023-06-03 05:56:00 +02:00
2023-07-08 10:32:56 +01:00
2023-05-08 09:29:44 +02:00
2023-04-06 11:36:56 +02:00
2023-07-07 19:09:55 +01:00
2023-05-26 05:23:09 +02:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-07-05 12:31:54 +01:00
2023-05-26 05:23:09 +02:00
2023-04-06 11:36:56 +02:00
2023-07-07 19:09:55 +01:00
2023-07-05 08:19:55 +01:00
2023-04-06 11:36:56 +02:00
2023-05-23 14:38:45 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-04-06 11:36:56 +02:00
2023-04-06 11:36:56 +02:00
2023-03-23 13:37:40 +01:00
2023-07-03 19:04:45 +02:00
2023-07-03 19:04:45 +02:00
2023-04-07 16:02:22 +02:00
2023-06-14 14:23:17 +02:00
2023-06-14 14:23:17 +02:00
2023-05-13 09:08:42 +02:00
2023-05-13 09:08:42 +02:00
2023-07-31 05:18:51 +02:00
2023-07-09 12:54:06 +02:00
2023-05-16 11:25:44 +02:00
2023-04-23 16:22:45 +02:00
2023-04-23 16:22:45 +02:00
2023-04-23 16:22:45 +02:00
2023-04-07 22:41:01 +02:00
2023-04-06 23:49:08 +02:00
2023-03-07 23:33:34 +00:00
2023-03-07 23:33:34 +00:00
2023-06-23 16:20:29 +02:00
2023-07-08 10:32:56 +01:00
2023-07-31 05:18:51 +02:00
2023-07-11 06:48:25 +02:00
2023-05-03 09:39:49 +02:00
2023-07-31 05:18:51 +02:00
2023-04-07 22:41:01 +02:00
2023-03-06 23:46:35 +01:00
2023-05-03 09:39:49 +02:00
2023-03-19 14:16:15 +00:00
2023-03-19 14:16:15 +00:00
2023-04-07 22:41:01 +02:00
2023-03-15 08:48:49 +01:00
2023-07-08 10:32:56 +01:00
2023-07-08 10:32:56 +01:00
2023-05-08 09:29:44 +02:00
2023-04-15 14:05:00 +02:00
2023-04-26 15:51:50 +02:00
2023-06-14 14:23:17 +02:00
2023-06-14 14:23:17 +02:00
2023-07-29 11:58:51 +02:00
2023-07-29 11:58:51 +02:00
2023-05-03 09:39:49 +02:00
2023-07-31 10:41:38 +02:00
2023-04-07 22:41:01 +02:00
2023-03-18 19:50:45 +01:00
2023-04-06 11:36:56 +02:00
2023-03-14 09:07:40 -04:00
2023-03-14 09:07:40 -04:00
2023-04-19 07:57:52 +02:00
2023-04-19 07:57:52 +02:00
2023-04-19 07:57:52 +02:00
2023-03-22 00:12:53 +01:00
2023-06-14 17:54:40 +02:00
2023-06-14 17:54:40 +02:00
2023-06-14 17:54:40 +02:00
2023-07-11 09:38:37 +03:30
2023-07-08 10:32:56 +01:00
2023-05-24 23:18:07 +02:00
2023-05-24 23:18:07 +02:00
2023-04-07 16:02:22 +02:00
2023-04-07 16:02:22 +02:00
2023-04-07 16:02:22 +02:00
2023-04-07 16:02:22 +02:00
2023-06-23 13:27:29 +02:00
2023-06-23 13:27:29 +02:00
2023-04-06 11:36:56 +02:00
2023-03-07 23:33:34 +00:00
2023-05-13 16:31:10 +02:00
2023-03-23 21:00:43 +00:00
2023-03-14 09:07:40 -04:00
2023-07-25 15:45:44 +02:00
2023-07-09 12:54:06 +02:00
2023-03-07 23:33:34 +00:00
2023-04-30 06:04:33 +02:00
2023-03-14 09:07:40 -04:00
2023-03-06 13:05:43 +00:00
2023-07-31 05:18:51 +02:00
2023-03-15 08:48:49 +01:00