Bug 1889454 [wpt PR 45506] - Revert "Reland "Minimize content type in resource timing"", a=testonly

Automatic update from web-platform-tests
Revert "Reland "Minimize content type in resource timing""

This reverts commit d3ce478d7c649b17bf60ab62094b697ad7b4350b.

Reason for revert: Test failures on `mac*-arm64-rel-tests`. See
https://ci.chromium.org/ui/p/chromium/builders/ci/mac13-arm64-rel-tests/20715/test-results?sortby=&groupby=
for an example. The failure is due to an unexpected aborted test for
`external/wpt/resource-timing/content-type-minimization.html`.

Original change's description:
> Reland "Minimize content type in resource timing"
>
> Add test Timeout expectation for content-type-minimization.html on mac
>
> This is a reland of commit b08e4411a9c8f32de1893dc9888a727e821348df
>
> Original change's description:
> > Minimize content type in resource timing
> >
> > - Implements algorithm to minimize a supported MIME type
> > - Minimize mime type before exposing the same through resource timing
> > - Add WPT for minimizing mime type
> >
> > Bug: 1366706
> > Change-Id: Ica414078d5c507fdfe4e6c20aeff8e2be63420bf
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4509283
> > Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
> > Commit-Queue: Abin Paul <abin.paul1@gmail.com>
> > Cr-Commit-Position: refs/heads/main@{#1144574}
>
> Bug: 1366706
> Change-Id: I701292a4ff12e7faef30c71e23289b74404ebee2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4573535
> Commit-Queue: Ian Clelland <iclelland@chromium.org>
> Reviewed-by: Yoav Weiss (@Shopify) <yoavweiss@chromium.org>
> Reviewed-by: Ian Clelland <iclelland@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1281855}

Bug: 1366706
Change-Id: I4b6ed72ab53e5f432a27fb134093686ed49b9825
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5420590
Owners-Override: Darwin Yang <darwinyang@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solomon Kinard <solomonkinard@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1281992}

--

wpt-commits: 0e9d465d283841979b44e109ed269dc72d34a050
wpt-pr: 45506
This commit is contained in:
Darwin Yang 2024-04-08 17:08:59 +00:00 коммит произвёл moz-wptsync-bot
Родитель 74f6ee8e12
Коммит 109967b102
4 изменённых файлов: 94 добавлений и 299 удалений

Просмотреть файл

@ -1,130 +0,0 @@
[
{
"input": "application/ecmascript",
"output": "text/javascript"
},
{
"input": "application/javascript",
"output": "text/javascript"
},
{
"input": "application/x-ecmascript",
"output": "text/javascript"
},
{
"input": "application/x-javascript",
"output": "text/javascript"
},
{
"input": "text/ecmascript",
"output": "text/javascript"
},
{
"input": "text/javascript",
"output": "text/javascript"
},
{
"input": "text/javascript1.0",
"output": "text/javascript"
},
{
"input": "text/javascript1.1",
"output": "text/javascript"
},
{
"input": "text/javascript1.2",
"output": "text/javascript"
},
{
"input": "text/javascript1.3",
"output": "text/javascript"
},
{
"input": "text/javascript1.4",
"output": "text/javascript"
},
{
"input": "text/javascript1.5",
"output": "text/javascript"
},
{
"input": "text/jscript",
"output": "text/javascript"
},
{
"input": "text/livescript",
"output": "text/javascript"
},
{
"input": "text/x-ecmascript",
"output": "text/javascript"
},
{
"input": "text/x-javascript",
"output": "text/javascript"
},
{
"input": "application/json",
"output": "application/json"
},
{
"input": "text/json",
"output": "application/json"
},
{
"input": "application/ld+json",
"output": "application/json"
},
{
"input": "image/svg+xml",
"output": "image/svg+xml"
},
{
"input": "application/xml",
"output": "application/xml"
},
{
"input": "text/xml",
"output": "application/xml"
},
{
"input": "application/rss+xml",
"output": "application/xml"
},
{
"input": "application/xhtml+xml",
"output": "application/xml"
},
{
"input": "application/atom+xml",
"output": "application/xml"
},
{
"input": "image/png;7a752164-f10e-11ed-a05b-0242ac120003",
"output": "image/png"
},
{
"input": "text/xml;7a758876-f40e-11ee-998b-0242abgh0003",
"output": "application/xml"
},
{
"input": "image/png",
"output": "image/png"
},
{
"input": "image/jpe",
"output": ""
},
{
"input": "application/png",
"output": ""
},
{
"input": "random/png",
"output": ""
},
{
"input": "application/abcd",
"output": ""
}
]

Просмотреть файл

@ -4,468 +4,394 @@
"input": "text/html;charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "TEXT/HTML;CHARSET=GBK",
"output": "text/html;charset=GBK",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
"Legacy comment syntax",
{
"input": "text/html;charset=gbk(",
"output": "text/html;charset=\"gbk(\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;x=(;charset=gbk",
"output": "text/html;x=\"(\";charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
"Duplicate parameter",
{
"input": "text/html;charset=gbk;charset=windows-1255",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=();charset=GBK",
"output": "text/html;charset=\"()\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"Spaces",
{
"input": "text/html;charset =gbk",
"output": "text/html",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html ;charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html; charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset= gbk",
"output": "text/html;charset=\" gbk\"",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset= \"gbk\"",
"output": "text/html;charset=\" \\\"gbk\\\"\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"0x0B and 0x0C",
{
"input": "text/html;charset=\u000Bgbk",
"output": "text/html",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset=\u000Cgbk",
"output": "text/html",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;\u000Bcharset=gbk",
"output": "text/html",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;\u000Ccharset=gbk",
"output": "text/html",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"Single quotes are a token, not a delimiter",
{
"input": "text/html;charset='gbk'",
"output": "text/html;charset='gbk'",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset='gbk",
"output": "text/html;charset='gbk",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset=gbk'",
"output": "text/html;charset=gbk'",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset=';charset=GBK",
"output": "text/html;charset='",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"Invalid parameters",
{
"input": "text/html;test;charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;test=;charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;';charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;\";charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html ; ; charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;;;;charset=gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset= \"\u007F;charset=GBK",
"output": "text/html;charset=GBK",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"\u007F;charset=foo\";charset=GBK",
"output": "text/html;charset=GBK",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
"Double quotes",
{
"input": "text/html;charset=\"gbk\"",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"gbk",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=gbk\"",
"output": "text/html;charset=\"gbk\\\"\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset=\" gbk\"",
"output": "text/html;charset=\" gbk\"",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"gbk \"",
"output": "text/html;charset=\"gbk \"",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"\\ gbk\"",
"output": "text/html;charset=\" gbk\"",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"\\g\\b\\k\"",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"gbk\"x",
"output": "text/html;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
{
"input": "text/html;charset=\"\";charset=GBK",
"output": "text/html;charset=\"\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
{
"input": "text/html;charset=\";charset=GBK",
"output": "text/html;charset=\";charset=GBK\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"Unexpected code points",
{
"input": "text/html;charset={gbk}",
"output": "text/html;charset=\"{gbk}\"",
"navigable": true,
"encoding": null,
"minimizedMIMEType": "text/html"
"encoding": null
},
"Parameter name longer than 127",
{
"input": "text/html;0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789=x;charset=gbk",
"output": "text/html;0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789=x;charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
"type/subtype longer than 127",
{
"input": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
"output": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
"minimizedMIMEType": ""
"output": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
},
"Invalid names",
{
"input": "text/html;a]=bar;b[=bar;c=bar",
"output": "text/html;c=bar",
"minimizedMIMEType": "text/html"
"output": "text/html;c=bar"
},
"Semicolons in value",
{
"input": "text/html;valid=\";\";foo=bar",
"output": "text/html;valid=\";\";foo=bar",
"minimizedMIMEType": "text/html"
"output": "text/html;valid=\";\";foo=bar"
},
{
"input": "text/html;in]valid=\";asd=foo\";foo=bar",
"output": "text/html;foo=bar",
"minimizedMIMEType": "text/html"
"output": "text/html;foo=bar"
},
"Valid",
{
"input": "!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
"output": "!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
"minimizedMIMEType": ""
"output": "!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz/!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz;!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz=!#$%&'*+-.^_`|~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
},
{
"input": "x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\"",
"output": "x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\"",
"minimizedMIMEType": ""
"output": "x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\""
},
"End-of-file handling",
{
"input": "x/x;test",
"output": "x/x",
"minimizedMIMEType": ""
"output": "x/x"
},
{
"input": "x/x;test=\"\\",
"output": "x/x;test=\"\\\\\"",
"minimizedMIMEType": ""
"output": "x/x;test=\"\\\\\""
},
"Whitespace (not handled by generated-mime-types.json or above)",
{
"input": "x/x;x= ",
"output": "x/x",
"minimizedMIMEType": ""
"output": "x/x"
},
{
"input": "x/x;x=\t",
"output": "x/x",
"minimizedMIMEType": ""
"output": "x/x"
},
{
"input": "x/x\n\r\t ;x=x",
"output": "x/x;x=x",
"minimizedMIMEType": ""
"output": "x/x;x=x"
},
{
"input": "\n\r\t x/x;x=x\n\r\t ",
"output": "x/x;x=x",
"minimizedMIMEType": ""
"output": "x/x;x=x"
},
{
"input": "x/x;\n\r\t x=x\n\r\t ;x=y",
"output": "x/x;x=x",
"minimizedMIMEType": ""
"output": "x/x;x=x"
},
"Latin1",
{
"input": "text/html;test=\u00FF;charset=gbk",
"output": "text/html;test=\"\u00FF\";charset=gbk",
"navigable": true,
"encoding": "GBK",
"minimizedMIMEType": "text/html"
"encoding": "GBK"
},
">Latin1",
{
"input": "x/x;test=\uFFFD;x=x",
"output": "x/x;x=x",
"minimizedMIMEType": ""
"output": "x/x;x=x"
},
"Failure",
{
"input": "\u000Bx/x",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "\u000Cx/x",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "x/x\u000B",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "x/x\u000C",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "\t",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "/",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "bogus",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "bogus/",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "bogus/ ",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "bogus/bogus/;",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "</>",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "(/)",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "ÿ/ÿ",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "text/html(;doesnot=matter",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "{/}",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "\u0100/\u0100",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "text /html",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "text/ html",
"output": null,
"minimizedMIMEType": ""
"output": null
},
{
"input": "\"text/html\"",
"output": null,
"minimizedMIMEType": ""
"output": null
}
]

Просмотреть файл

@ -28,33 +28,31 @@ function isByteCompatible(str) {
return "compatible";
}
// Test for mime-type minimization
const run_mime_type_mimization_tests = (json_entries) => {
// Test for content-type parsing.
const run_content_type_parsing_tests = (json_entries) => {
json_entries.forEach( (json_entry, i) => {
promise_test(async t => {
let identifier = Math.floor(Math.random() * 1000000000);
let url = `/fetch/content-type/resources/content-type.py?single_header&value=`+ encodeURIComponent(json_entry.input) + `&identifier=${identifier}`;
let url = "/fetch/content-type/resources/content-type.py?single_header&";
json_entry.contentType.forEach(val => {
url += "value=" + encodeURIComponent(val) + "&";
});
fetch(url);
const entry = await new Promise(resolve => new PerformanceObserver((entryList, observer) => {
entryList.getEntries().forEach(e => {
if (e.name.includes(identifier)) {
resolve(e);
observer.disconnect();
}
});
observer.disconnect();
resolve(entryList.getEntries()[0]);
}).observe({entryTypes: ['resource']}));
assert_equals(entry.contentType, json_entry.output);
}, "mime-type-minimized " + i + " : " + json_entry.input);
assert_equals(entry.contentType, json_entry["mimeType"]);
}, "content-type " + i + " : " + json_entry.contentType);
});
}
// Test for mime-type parsing.
const run_mime_type_parsing_and_minimization_tests = (json_entries) => {
const run_mime_type_parsing_tests = (json_entries) => {
json_entries.forEach( (val, i) => {
if(typeof val === "string" || val.navigable === undefined || isByteCompatible(val.input) !== "compatible") {
return;
}
const minimizedMIMEType = val.minimizedMIMEType;
const output = val.output === null ? "" : val.output
promise_test(async t => {
let url = `/fetch/content-type/resources/content-type.py?single_header&value=${val.input}`;
fetch(url);
@ -62,16 +60,16 @@ const run_mime_type_parsing_and_minimization_tests = (json_entries) => {
observer.disconnect();
resolve(entryList.getEntries()[0]);
}).observe({entryTypes: ['resource']}));
assert_equals(entry.contentType, minimizedMIMEType);
assert_equals(entry.contentType, output);
}, "mime-type " + i + " : " + val.input);
});
}
Promise.all([
fetch("/mimesniff/mime-types/resources/mime-types-minimized.json"),
fetch("/fetch/content-type/resources/content-types.json"),
fetch("/mimesniff/mime-types/resources/mime-types.json")
]).then(([res, res2]) => res.json().then(run_mime_type_mimization_tests)
.then(() => res2.json().then(run_mime_type_parsing_and_minimization_tests)));
]).then(([res, res2]) => res.json().then(run_content_type_parsing_tests)
.then(() => res2.json().then(run_mime_type_parsing_tests)));
</script>
</body>

Просмотреть файл

@ -42,10 +42,11 @@ const run_test_cross_origin = (loader, contentType) => {
}
const resource_loaders_and_types = [
[load.font, ["font/woff", "font/otf"]],
[load.image, ["image/png", "image/jpg"]],
[load.script, ["text/javascript"]],
[load.script, ["application/javascript", "text/javascript"]],
[load.stylesheet, ["text/css"]],
[load.xhr_async, ["image/png", "image/jpg"]],
[load.xhr_async, ["application/x-gzip", "application/pdf"]],
[load.iframe, ["text/html"]]
];
@ -76,7 +77,7 @@ const run_test_cross_origin_allow_origin = (loader_with_attr,contentType) => {
const resource_loaders_with_attrs_and_types = [
[load.image_with_attrs, ["image/gif", "image/jpeg"]],
[load.script_with_attrs, ["text/javascript"]],
[load.script_with_attrs, ["application/javascript", "text/javascript"]],
[load.stylesheet_with_attrs, ["text/css"]],
]