ladybird/Userland/Libraries/LibWeb/Loader
Shannon Booth cc55732332 LibURL+Everywhere: Only percent decode URL paths when actually needed
Web specs do not return through javascript percent decoded URL path
components - but we were doing this in a number of places due to the
default behaviour of URL::serialize_path.

Since percent encoded URL paths may not contain valid UTF-8 - this was
resulting in us crashing in these places.

For example - on an HTMLAnchorElement when retrieving the pathname for
the URL of:

http://ladybird.org/foo%C2%91%91

To fix this make the URL class only return the percent encoded
serialized path, matching the URL spec. When the decoded path is
required instead explicitly call URL::percent_decode.

This fixes a crash running WPT URL tests for the anchor element on:

https://wpt.live/url/a-element.html
2024-08-05 09:58:13 +02:00
..
ContentFilter.cpp AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
ContentFilter.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
FileRequest.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
FileRequest.h Userland: Add ESCAPING annotations to a bunch of places 2024-05-22 21:55:34 -06:00
GeneratedPagesLoader.cpp LibURL+Everywhere: Only percent decode URL paths when actually needed 2024-08-05 09:58:13 +02:00
GeneratedPagesLoader.h LibWeb: Pass network error message to generated error page 2024-07-05 15:08:13 -06:00
LoadRequest.cpp LibWeb: Support unbuffered resource load requests 2024-05-26 18:29:24 +02:00
LoadRequest.h LibWeb: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
ProxyMappings.cpp AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
ProxyMappings.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
Resource.cpp LibURL+Everywhere: Only percent decode URL paths when actually needed 2024-08-05 09:58:13 +02:00
Resource.h LibHTTP+RequestServer: Add HTTP::HeaderMap and use for response headers 2024-06-09 15:34:02 +02:00
ResourceLoader.cpp LibURL+Everywhere: Only percent decode URL paths when actually needed 2024-08-05 09:58:13 +02:00
ResourceLoader.h LibWeb: Use "en" as a fallback when setting preferred languages 2024-07-27 08:18:16 +02:00
UserAgent.h LibWeb: Add user agent CPU string for PowerPC 2024-07-05 09:50:13 -06:00