Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7565d27f767470962d70ffa30b5a22e01c55df6a
https://github.com/WebKit/WebKit/commit/7565d27f767470962d70ffa30b5a22e01c55df6a
Author: Charlie Wolfe <[email protected]>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt
M
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt
M Source/WebCore/platform/network/CacheValidation.cpp
M Source/WebCore/platform/network/CacheValidation.h
M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp
Log Message:
-----------
Honor Cache-Control request max-age, min-fresh and no-store
https://bugs.webkit.org/show_bug.cgi?id=317251
rdar://179865576
Reviewed by Chris Dumez.
Apply request Cache-Control directives when deciding whether NetworkCache can
reuse a stored
response.
RFC 9111 defines request max-age as preferring a response whose age is no
greater than the supplied
delta, and min-fresh as preferring a response that remains fresh for at least
the supplied delta:
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.1
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.3
Parse min-fresh and require validation when the stored response is too old for
request max-age or
not fresh enough for request min-fresh. Also require validation for request
no-store for web
compatibility, aligning with Fetch’s no-store cache mode:
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.5
https://fetch.spec.whatwg.org/#request-cache-mode
*
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt:
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt:
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt:
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt:
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt:
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt:
* Source/WebCore/platform/network/CacheValidation.cpp:
(WebCore::parseCacheControlDirectives):
* Source/WebCore/platform/network/CacheValidation.h:
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::responseNeedsRevalidation):
Canonical link: https://commits.webkit.org/315447@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications