mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 10:18:15 +09:00

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
8 lines
247 B
HTML
8 lines
247 B
HTML
<a id="anchor" href="http://ladybird.org/foo%C2%91%91"></a>
|
|
<script src="../include.js"></script>
|
|
<script>
|
|
test(() => {
|
|
const anchorElement = document.getElementById('anchor');
|
|
println(anchorElement.pathname);
|
|
})
|
|
</script>
|