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

Reply via email to