ladybird/Userland/Libraries/LibWebSocket
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
..
Impl Revert "LibTLS+Everywhere: Switch to using WolfSSL" 2024-07-06 15:15:34 -06:00
CMakeLists.txt AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
ConnectionInfo.cpp LibURL+Everywhere: Only percent decode URL paths when actually needed 2024-08-05 09:58:13 +02:00
ConnectionInfo.h LibWebSocket: Use HTTP::HeaderMap in WebSocket code 2024-06-22 18:53:24 +02:00
Message.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocket.cpp Revert "LibTLS+Everywhere: Switch to using WolfSSL" 2024-07-06 15:15:34 -06:00
WebSocket.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00