[webkit-changes] [WebKit/WebKit] 2092e7: [Cocoa] Add plumbing for a couple more platform fl...

Wenson Hsieh noreply at github.com
Tue Apr 25 15:44:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2092e7169114e46d8dc8ac71dad797f3c33bdc9e
      https://github.com/WebKit/WebKit/commit/2092e7169114e46d8dc8ac71dad797f3c33bdc9e
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-04-25 (Tue, 25 Apr 2023)

  Changed paths:
    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/cf/ResourceRequestCFNet.cpp
    M Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm
    M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [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




More information about the webkit-changes mailing list