Switch to data_url::mime for document content type (#36522)

The data_url Mime parser has a more conformant behavior in most cases,
including dealing with charsets.

Testing: wpt expectations with new passes are updated.

Signed-off-by: webbeef <me@webbeef.org>
This commit is contained in:
webbeef 2025-04-15 10:12:48 -07:00 committed by GitHub
parent 32d59cfff4
commit 98884a5081
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 112 additions and 178 deletions

View file

@ -35,12 +35,6 @@
[text/html;charset="gbk]
expected: FAIL
[text/html;charset="\\ gbk"]
expected: FAIL
[text/html;charset="\\g\\b\\k"]
expected: FAIL
[text/html;charset="gbk"x]
expected: FAIL

View file

@ -2,137 +2,20 @@
[2) MIME types need to be parsed and serialized: TEXT/HTML;CHARSET=GBK]
expected: FAIL
[3) MIME types need to be parsed and serialized: text/html;charset=gbk(]
expected: FAIL
[4) MIME types need to be parsed and serialized: text/html;x=(;charset=gbk]
expected: FAIL
[5) MIME types need to be parsed and serialized: text/html;charset=gbk;charset=windows-1255]
expected: FAIL
[6) MIME types need to be parsed and serialized: text/html;charset=();charset=GBK]
expected: FAIL
[7) MIME types need to be parsed and serialized: text/html;charset =gbk]
expected: FAIL
[8) MIME types need to be parsed and serialized: text/html ;charset=gbk]
expected: FAIL
[9) MIME types need to be parsed and serialized: text/html; charset=gbk]
expected: FAIL
[10) MIME types need to be parsed and serialized: text/html;charset= gbk]
expected: FAIL
[11) MIME types need to be parsed and serialized: text/html;charset= "gbk"]
expected: FAIL
[12) MIME types need to be parsed and serialized: text/html;charset=\x0bgbk]
expected: FAIL
[13) MIME types need to be parsed and serialized: text/html;charset=\x0cgbk]
expected: FAIL
[14) MIME types need to be parsed and serialized: text/html;\x0bcharset=gbk]
expected: FAIL
[15) MIME types need to be parsed and serialized: text/html;\x0ccharset=gbk]
expected: FAIL
[19) MIME types need to be parsed and serialized: text/html;charset=';charset=GBK]
expected: FAIL
[20) MIME types need to be parsed and serialized: text/html;test;charset=gbk]
expected: FAIL
[21) MIME types need to be parsed and serialized: text/html;test=;charset=gbk]
expected: FAIL
[22) MIME types need to be parsed and serialized: text/html;';charset=gbk]
expected: FAIL
[23) MIME types need to be parsed and serialized: text/html;";charset=gbk]
expected: FAIL
[24) MIME types need to be parsed and serialized: text/html ; ; charset=gbk]
expected: FAIL
[25) MIME types need to be parsed and serialized: text/html;;;;charset=gbk]
expected: FAIL
[26) MIME types need to be parsed and serialized: text/html;charset= ";charset=GBK]
expected: FAIL
[27) MIME types need to be parsed and serialized: text/html;charset=";charset=foo";charset=GBK]
expected: FAIL
[28) MIME types need to be parsed and serialized: text/html;charset="gbk"]
expected: FAIL
[29) MIME types need to be parsed and serialized: text/html;charset="gbk]
expected: FAIL
[30) MIME types need to be parsed and serialized: text/html;charset=gbk"]
expected: FAIL
[33) MIME types need to be parsed and serialized: text/html;charset="\\ gbk"]
expected: FAIL
[34) MIME types need to be parsed and serialized: text/html;charset="\\g\\b\\k"]
expected: FAIL
[35) MIME types need to be parsed and serialized: text/html;charset="gbk"x]
expected: FAIL
[36) MIME types need to be parsed and serialized: text/html;charset="";charset=GBK]
expected: FAIL
[37) MIME types need to be parsed and serialized: text/html;charset=";charset=GBK]
expected: FAIL
[38) MIME types need to be parsed and serialized: text/html;charset={gbk}]
expected: FAIL
[41) MIME types need to be parsed and serialized: text/html;a\]=bar;b[=bar;c=bar]
expected: FAIL
[43) MIME types need to be parsed and serialized: text/html;in\]valid=";asd=foo";foo=bar]
expected: FAIL
[44) MIME types need to be parsed and serialized: !#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]
expected: FAIL
[45) MIME types need to be parsed and serialized: x/x;x="\t !\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"]
expected: FAIL
[46) MIME types need to be parsed and serialized: x/x;test]
expected: FAIL
[47) MIME types need to be parsed and serialized: x/x;test="\\]
expected: FAIL
[48) MIME types need to be parsed and serialized: x/x;x= ]
expected: FAIL
[49) MIME types need to be parsed and serialized: x/x;x=\t]
expected: FAIL
[50) MIME types need to be parsed and serialized: x/x\n\r\t ;x=x]
expected: FAIL
[51) MIME types need to be parsed and serialized: \n\r\t x/x;x=x\n\r\t ]
expected: FAIL
[52) MIME types need to be parsed and serialized: x/x;\n\r\t x=x\n\r\t ;x=y]
expected: FAIL
[53) MIME types need to be parsed and serialized: text/html;test=ÿ;charset=gbk]
expected: FAIL
[54) MIME types need to be parsed and serialized: x/x;test=<3D>;x=x]
expected: FAIL
[63) MIME types need to be parsed and serialized: bogus/]
expected: FAIL

View file

@ -2,9 +2,6 @@
[charset given but wrong, fix it (unknown MIME, bogus charset)]
expected: FAIL
[If charset= param is UTF-8 (case-insensitive), it should not be changed (bogus charset)]
expected: FAIL
[charset given but wrong, fix it (known MIME, actual charset)]
expected: FAIL
@ -17,8 +14,5 @@
[charset in double quotes with space]
expected: FAIL
[charset in double quotes with backslashes that is UTF-8 does not change]
expected: FAIL
[unknown parameters need to be preserved]
expected: FAIL