https://bugs.webkit.org/show_bug.cgi?id=255927
rdar://105895713
Reviewed by Tim Horton and Matthew Finkel.
Add plumbing for two flags on `ResourceRequest`: `PrivacyProxyFailClosedForUnreachableNonMainHosts`
and `UseNetworkConnectionIntegrity`, which both map to SPI properties on `NSURLRequest`. In a
subsequent patch, this will make it possible for WebKit clients to specify these flags on a URL
request when loading a web view, and have this state propagate to everywhere (including the resource
request used for performing preconnect).
* Source/WebCore/platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
(WebCore::ResourceRequestBase::setIsAppInitiated):
(WebCore::ResourceRequestBase::setPrivacyProxyFailClosedForUnreachableNonMainHosts):
(WebCore::ResourceRequestBase::setUseNetworkConnectionIntegrity):
Add support for the new flags here; this closely follows the existing pattern used to plumb whether
or not the request is app-initiated through `ResourceRequest`.
* Source/WebCore/platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::RequestData::RequestData):
(WebCore::ResourceRequestBase::privacyProxyFailClosedForUnreachableNonMainHosts const):
(WebCore::ResourceRequestBase::useNetworkConnectionIntegrity const):
* Source/WebCore/platform/network/cf/ResourceRequest.h:
* Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
* Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::getResourceRequestPlatformData const):
(WebCore::configureRequestWithData):
Add a new helper method to set some policy flags on the platform URL request, to avoid duplicating
this logic in the two methods below.
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Add IPC encoding/decoding support for the platform flags.
Canonical link: https://commits.webkit.org/263390@main