зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
74f6ee8e12
Коммит
109967b102
|
@ -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();
|
||||
}
|
||||
});
|
||||
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"]],
|
||||
]
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче