Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 71730beeaf06cb924a28ba92efe710393c28c740
https://github.com/WebKit/WebKit/commit/71730beeaf06cb924a28ba92efe710393c28c740
Author: Alex Christensen <[email protected]>
Date: 2026-06-27 (Sat, 27 Jun 2026)
Changed paths:
M LayoutTests/ipc/create-socket-channel-invalid-url-crash.html
M LayoutTests/ipc/invalid-url-network-data-task-crash.html
M Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
M Source/WebCore/dom/ScriptExecutionContext.cpp
M Source/WebCore/dom/ScriptExecutionContext.h
M Source/WebCore/html/DOMURL.cpp
M Source/WebCore/inspector/InspectorResourceUtilities.cpp
M Source/WebCore/loader/DocumentLoader.cpp
M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
M Source/WebCore/loader/cache/CachedImage.cpp
M Source/WebCore/loader/cache/CachedImage.h
M Source/WebCore/loader/cache/CachedResource.h
M Source/WebCore/loader/cache/CachedResourceLoader.cpp
M Source/WebCore/loader/cache/CachedResourceRequest.cpp
M Source/WebCore/loader/cache/CachedResourceRequest.h
M Source/WebCore/loader/cache/MemoryCache.cpp
M Source/WebCore/page/Page.cpp
M Source/WebCore/platform/network/ResourceRequestBase.cpp
M Source/WebCore/platform/network/ResourceRequestBase.h
M Source/WebCore/platform/network/cf/ResourceRequest.h
M Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/workers/service/ServiceWorkerContainer.cpp
M Source/WebCore/workers/service/ServiceWorkerJobData.cpp
M Source/WebCore/workers/service/ServiceWorkerJobData.h
M Source/WebCore/workers/service/server/SWServer.cpp
M Source/WebCore/xml/XMLHttpRequest.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
M Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCodersPlatform.serialization.in
Log Message:
-----------
Remove ResourceRequest.m_cachePartition
https://bugs.webkit.org/show_bug.cgi?id=315121
rdar://177463736
Reviewed by Brady Eidson.
Use the RegistrableDomain of m_firstPartyForCookies instead. This eliminates
the possibility of inconsistent values between the two, which should always
have the same RegistrableDomain.
In order to keep existing functionality with regards to
StorageBlockingPolicy::BlockThirdParty,
I needed to add a bool when I removed the duplicate string. The bool indicates
whether to
have an empty cache partition instead of a cache partition derived from
firstPartyForCookies.
This also removes support for passing an NSURLRequest in to WKWebView that has a
_kCFURLCachePartitionKey property attached to it using NSURLProtocol. There
are no
internal users of _kCFURLCachePartitionKey above WebKit, and its use could only
cause the wrong cache partition to be used. _kCFURLCachePartitionKey is stil
used
as a mechanism of communication between WebKit and NSURLSession in the network
process,
but we no longer extract the property from an app-supplied NSURLRequest. Its
emptiness
is checked, though, to determine whether we should block third party storage
access,
which is necessary for detecting the bit in NSURLRequests we get from CFNetwork
such as redirects, as tested in
http/tests/cache/disk-cache/disk-cache-redirect.html
* LayoutTests/ipc/create-socket-channel-invalid-url-crash.html:
* LayoutTests/ipc/invalid-url-network-data-task-crash.html:
* Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest):
* Source/WebCore/dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::domainForCachePartition const):
(WebCore::ScriptExecutionContext::shouldBlockThirdPartyStorage const):
* Source/WebCore/dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::setDomainForCachePartition): Deleted.
* Source/WebCore/html/DOMURL.cpp:
(WebCore::DOMURL::revokeObjectURL):
* Source/WebCore/inspector/InspectorResourceUtilities.cpp:
(Inspector::ResourceUtilities::cachedResource):
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadMainResource):
* Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createInternal):
* Source/WebCore/loader/cache/CachedImage.cpp:
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/loader/cache/CachedResource.h:
(WebCore::CachedResource::cachePartition const):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setDomainForCachePartition): Deleted.
* Source/WebCore/loader/cache/CachedResourceRequest.h:
* Source/WebCore/loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeResourcesWithOrigin):
(WebCore::MemoryCache::removeResourcesWithOrigins):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
* Source/WebCore/platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
(WebCore::ResourceRequestBase::cachePartition const):
(WebCore::ResourceRequestBase::setCachePartition): Deleted.
(WebCore::ResourceRequestBase::partitionName): Deleted.
* Source/WebCore/platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::shouldBlockThirdPartyStorage const):
(WebCore::ResourceRequestBase::setShouldBlockThirdPartyStorage):
(WebCore::ResourceRequestBase::setDomainForCachePartition): Deleted.
* Source/WebCore/platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
* Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::fromResourceRequestData):
(WebCore::ResourceRequest::doUpdateResourceRequest):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resourceFromMemoryCache):
* Source/WebCore/workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
* Source/WebCore/workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
(WebCore::ServiceWorkerJobData::isolatedCopy const):
* Source/WebCore/workers/service/ServiceWorkerJobData.h:
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::createScriptRequest):
* Source/WebCore/xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigin):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest):
* Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:
(WebKit::NetworkCache::constructRevalidationRequest):
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::constructRevalidationRequest):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCodersPlatform.serialization.in:
Canonical link: https://commits.webkit.org/315967@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications