Hookup mime classifier to main document loader (#39109)

While we don't perform any sniffing yet, it does now
check all relevant mime types. Before, we would only
check specific versions of specific mime types. However,
the specification is more elaborate, which MimeClassifier
already handles.

There are two new test failures, but they actually fail
in the same way in other browsers. These tests are still
being discussed what the correct behavior should be [1]

Part of #14024

[1]:
https://github.com/whatwg/mimesniff/issues/189#issuecomment-2081559661

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
Tim van der Lippe 2025-09-04 10:30:55 +02:00 committed by GitHub
parent a44b98c358
commit dab195ca80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 284 additions and 619 deletions

View file

@ -1,2 +1,2 @@
[Document-createElement-svg.svg]
expected: TIMEOUT
expected: ERROR

View file

@ -1,2 +1,2 @@
[parser-uses-create-an-element-for-a-token-svg.svg]
expected: TIMEOUT
expected: ERROR

View file

@ -49,3 +49,9 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL

View file

@ -1,51 +1,21 @@
[anchor.tentative.https.window.html?include=from-treat-as-public]
[treat-as-public-address to local: failed preflight.]
expected: FAIL
[treat-as-public-address to local: missing CORS headers.]
expected: FAIL
[treat-as-public-address to local: missing PNA header.]
expected: FAIL
[treat-as-public-address to local: success.]
expected: FAIL
[treat-as-public-address to private: failed preflight.]
expected: FAIL
[treat-as-public-address to private: missing CORS headers.]
expected: FAIL
[treat-as-public-address to private: missing PNA header.]
expected: FAIL
[treat-as-public-address to private: success.]
expected: FAIL
[treat-as-public-address to local (same-origin): no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL
[anchor.tentative.https.window.html?include=from-public]
[public to local: failed preflight.]
expected: FAIL
[public to local: missing CORS headers.]
expected: FAIL
[public to local: missing PNA header.]
expected: FAIL
[public to local: success.]
expected: FAIL
[public to private: failed preflight.]
expected: FAIL
[public to private: missing CORS headers.]
expected: FAIL
[public to private: missing PNA header.]
expected: FAIL
[public to private: success.]
expected: FAIL
@ -55,18 +25,27 @@
[public to public to private: success.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[anchor.tentative.https.window.html?include=from-local]
[local to local: no preflight required.]
expected: FAIL
[local to private: no preflight required.]
expected: FAIL
[local to public: no preflight required.]
expected: FAIL
[anchor.tentative.https.window.html?include=from-private]
[private to local: failed preflight.]
expected: FAIL
[private to local: missing CORS headers.]
expected: FAIL
[private to local: missing PNA header.]
expected: FAIL
[private to local: success.]
expected: FAIL
[private to private: no preflight required.]
expected: FAIL
[private to public: no preflight required.]
expected: FAIL

View file

@ -1,15 +1,21 @@
[anchor.tentative.window.html]
[private to local: failure.]
[local to local: no preflight required.]
expected: FAIL
[public to local: failure.]
[local to private: no preflight required.]
expected: FAIL
[public to private: failure.]
[local to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: failure.]
[private to private: no preflight required.]
expected: FAIL
[treat-as-public-address to private: failure.]
[private to public: no preflight required.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL

View file

@ -1,54 +1,39 @@
[iframe.tentative.https.window.html?include=from-treat-as-public]
[treat-as-public-address to local: failed preflight.]
expected: FAIL
[treat-as-public-address to local: success.]
expected: FAIL
[treat-as-public-address to private: failed preflight.]
expected: FAIL
[treat-as-public-address to private: success.]
expected: FAIL
[treat-as-public-address to local: missing CORS headers.]
[treat-as-public-address to local (same-origin): no preflight required.]
expected: FAIL
[treat-as-public-address to local: missing PNA header.]
[treat-as-public-address to public: no preflight required.]
expected: FAIL
[treat-as-public-address to private: missing CORS headers.]
expected: FAIL
[treat-as-public-address to private: missing PNA header.]
[treat-as-public-address to local: optional preflight]
expected: FAIL
[iframe.tentative.https.window.html?include=from-local]
[local to local: no preflight required.]
expected: FAIL
[local to private: no preflight required.]
expected: FAIL
[local to public: no preflight required.]
expected: FAIL
[iframe.tentative.https.window.html?include=from-public]
[public to local: failed preflight.]
expected: FAIL
[public to local: success.]
expected: FAIL
[public to private: failed preflight.]
expected: FAIL
[public to private: success.]
expected: FAIL
[public to local: missing CORS headers.]
expected: FAIL
[public to local: missing PNA header.]
expected: FAIL
[public to private: missing CORS headers.]
expected: FAIL
[public to private: missing PNA header.]
[public to public: no preflight required.]
expected: FAIL
@ -59,16 +44,19 @@
[public to local, grandparent navigates: success.]
expected: FAIL
[iframe.tentative.https.window.html?include=from-private]
[private to local: failed preflight.]
[local to local, grandparent navigates: no preflight required.]
expected: FAIL
[local to local (same-origin), grandparent navigates: no preflight required.]
expected: FAIL
[iframe.tentative.https.window.html?include=from-private]
[private to local: success.]
expected: FAIL
[private to local: missing CORS headers.]
[private to private: no preflight required.]
expected: FAIL
[private to local: missing PNA header.]
[private to public: no preflight required.]
expected: FAIL

View file

@ -1,15 +1,24 @@
[iframe.tentative.window.html]
[private to local: failure.]
[local to local: no preflight required.]
expected: FAIL
[public to local: failure.]
[local to private: no preflight required.]
expected: FAIL
[public to private: failure.]
[local to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: failure.]
[private to private: no preflight required.]
expected: FAIL
[treat-as-public-address to private: failure.]
[private to public: no preflight required.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL
[local to local, grandparent navigates: success.]
expected: FAIL

View file

@ -1,15 +1,21 @@
[window-open-existing.tentative.window.html]
[private to local: failure.]
[local to local: no preflight required.]
expected: FAIL
[public to local: failure.]
[local to private: no preflight required.]
expected: FAIL
[public to private: failure.]
[local to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: failure.]
[private to private: no preflight required.]
expected: FAIL
[treat-as-public-address to private: failure.]
[private to public: no preflight required.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL

View file

@ -46,69 +46,54 @@
[window-open.tentative.https.window.html?include=from-local]
[local to local: no preflight required.]
expected: FAIL
[local to private: no preflight required.]
expected: FAIL
[local to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: optional preflight]
expected: FAIL
[window-open.tentative.https.window.html?include=from-treat-as-public]
[treat-as-public-address to local: failed preflight.]
expected: FAIL
[treat-as-public-address to local: missing CORS headers.]
expected: FAIL
[treat-as-public-address to local: missing PNA header.]
expected: FAIL
[treat-as-public-address to local: success.]
expected: FAIL
[treat-as-public-address to private: failed preflight.]
expected: FAIL
[treat-as-public-address to private: missing CORS headers.]
expected: FAIL
[treat-as-public-address to private: missing PNA header.]
expected: FAIL
[treat-as-public-address to private: success.]
expected: FAIL
[treat-as-public-address to local (same-origin): no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: optional preflight]
expected: FAIL
[window-open.tentative.https.window.html?include=from-private]
[private to local: failed preflight.]
expected: FAIL
[private to local: missing CORS headers.]
expected: FAIL
[private to local: missing PNA header.]
expected: FAIL
[private to local: success.]
expected: FAIL
[private to private: no preflight required.]
expected: FAIL
[private to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: optional preflight]
expected: FAIL
[window-open.tentative.https.window.html?include=from-public]
[public to local: failed preflight.]
expected: FAIL
[public to local: missing CORS headers.]
expected: FAIL
[public to local: missing PNA header.]
expected: FAIL
[public to local: success.]
expected: FAIL
[public to private: failed preflight.]
expected: FAIL
[public to private: missing CORS headers.]
expected: FAIL
[public to private: missing PNA header.]
expected: FAIL
[public to private: success.]
expected: FAIL
@ -117,3 +102,9 @@
[public to public to private: success.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: optional preflight]
expected: FAIL

View file

@ -1,15 +1,21 @@
[window-open.tentative.window.html]
[private to local: failure.]
[local to local: no preflight required.]
expected: FAIL
[public to local: failure.]
[local to private: no preflight required.]
expected: FAIL
[public to private: failure.]
[local to public: no preflight required.]
expected: FAIL
[treat-as-public-address to local: failure.]
[private to private: no preflight required.]
expected: FAIL
[treat-as-public-address to private: failure.]
[private to public: no preflight required.]
expected: FAIL
[public to public: no preflight required.]
expected: FAIL
[treat-as-public-address to public: no preflight required.]
expected: FAIL

View file

@ -1,2 +1,2 @@
[user-interaction-editing-designMode-svg.svg]
expected: TIMEOUT
expected: ERROR

View file

@ -1,4 +1,3 @@
[navigation-type-post-backforward.html]
expected: TIMEOUT
[Navigation type after posting and navigating away and back should be back_forward.]
expected: TIMEOUT
expected: FAIL

View file

@ -1,7 +1,4 @@
[preload-type-match.html]
[Preload with {as=track; type=text/vtt} should load when retrieved resource is a track]
expected: FAIL
[Preload with {as=image; type=image/unknown} should timeout when retrieved resource is a png]
expected: FAIL