mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Handle nonmappable code points in Document::encoding_parse_a_url (#37541)
This is a followup to https://github.com/servo/servo/pull/33825. Using `Encoder::encode` introduced a subtle bug: That function will silently replace nonmappable code points (such as `㐀` in euc-jp). The url spec however expects nonmappable characters to be treated differently. There is actually an open bug in the `rust-url` repo about this: https://github.com/servo/rust-url/issues/649, with the conclusion apparently being that this should not be implemented by the url crate itself. Gecko implementation of the equivalent algorithm for reference: https://searchfox.org/mozilla-central/rev/d52edf7ea4236446e118a2edc815023c5479663f/netwerk/base/nsStandardURL.cpp#116-172. Testing: More web platform tests pass Part of https://github.com/servo/servo/issues/5601 --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
3a54ddd034
commit
a27c9ee691
14 changed files with 65 additions and 294148 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,12 +1,3 @@
|
|||
[percent-encoding.window.html]
|
||||
[Input \x0eA with encoding iso-2022-jp]
|
||||
expected: FAIL
|
||||
|
||||
[Input with encoding gb18030]
|
||||
expected: FAIL
|
||||
|
||||
[Input † with encoding big5]
|
||||
expected: FAIL
|
||||
|
||||
[Input U+d800 with encoding windows-1252]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue