Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Cocoa] Add plumbing for a couple more platform flags on ResourceRequest #13150

Merged
merged 1 commit into from
Apr 25, 2023

Commits on Apr 25, 2023

  1. [Cocoa] Add plumbing for a couple more platform flags on ResourceRequest

    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
    whsieh committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2092e71 View commit details
    Browse the repository at this point in the history