Implement basics of link preloading (#37036)

These changes allow a minimal set of checks for font-src
CSP checks to pass.

Part of #4577
Part of #35035

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
Tim van der Lippe 2025-05-29 13:26:27 +02:00 committed by GitHub
parent 9dc1391bef
commit 36e4886da1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
174 changed files with 2814 additions and 1097 deletions

View file

@ -0,0 +1,589 @@
[preload-referrer-policy.html]
expected: TIMEOUT
[referrer policy ( -> , element, cross-origin)]
expected: FAIL
[referrer policy ( -> , element, same-origin)]
expected: FAIL
[referrer policy ( -> , header, cross-origin)]
expected: TIMEOUT
[referrer policy ( -> , header, same-origin)]
expected: NOTRUN
[referrer policy ( -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy ( -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy ( -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy ( -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy ( -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy ( -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy ( -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy ( -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy ( -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> , element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> , header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (no-referrer -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> , element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> , header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (same-origin -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (same-origin -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> , element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> , header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (origin -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> , element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> , header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (origin-when-cross-origin -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> , element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> , header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (strict-origin-when-cross-origin -> unsafe-url, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> , element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> , element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> , header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> , header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> no-referrer, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> no-referrer, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> no-referrer, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> no-referrer, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> same-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> same-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> same-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> same-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> strict-origin-when-cross-origin, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> strict-origin-when-cross-origin, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> strict-origin-when-cross-origin, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> strict-origin-when-cross-origin, header, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> unsafe-url, element, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> unsafe-url, element, same-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> unsafe-url, header, cross-origin)]
expected: NOTRUN
[referrer policy (unsafe-url -> unsafe-url, header, same-origin)]
expected: NOTRUN