Changeset 291206 in webkit


Ignore:
Timestamp:
Mar 11, 2022, 9:01:28 PM (3 years ago)
Author:
commit-queue@webkit.org
Message:

Adjust when _setPrivacyProxyFailClosedForUnreachableNonMainHosts is called
https://bugs.webkit.org/show_bug.cgi?id=237735
<rdar://89972004>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-11
Reviewed by Geoff Garen.

It was originally being called differently between main resources and subresources on the same domain,
causing them to use connections with different properties, so we couldn't share connections any more.
This will make it so that more connections are shared, which should fix the performance regression from
no longer sharing connections to the same domain.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r291205 r291206  
     12022-03-11  Alex Christensen  <achristensen@webkit.org>
     2
     3        Adjust when _setPrivacyProxyFailClosedForUnreachableNonMainHosts is called
     4        https://bugs.webkit.org/show_bug.cgi?id=237735
     5        <rdar://89972004>
     6
     7        Reviewed by Geoff Garen.
     8
     9        It was originally being called differently between main resources and subresources on the same domain,
     10        causing them to use connections with different properties, so we couldn't share connections any more.
     11        This will make it so that more connections are shared, which should fix the performance regression from
     12        no longer sharing connections to the same domain.
     13
     14        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
     15        (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
     16        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
     17        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
     18
    1192022-03-11  Simon Fraser  <simon.fraser@apple.com>
    220
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

    r290659 r291206  
    341341    RetainPtr<NSMutableURLRequest> mutableRequest = adoptNS([nsRequest.get() mutableCopy]);
    342342
    343     if (!parameters.isMainFrameNavigation
    344         && parameters.hadMainFrameMainResourcePrivateRelayed
    345         && [mutableRequest respondsToSelector:@selector(_setPrivacyProxyFailClosedForUnreachableNonMainHosts:)])
    346         [mutableRequest _setPrivacyProxyFailClosedForUnreachableNonMainHosts:YES];
     343    if (parameters.isMainFrameNavigation
     344        || parameters.hadMainFrameMainResourcePrivateRelayed // This means it did not fail. FIXME: adjust names to reflect this.
     345        || !parameters.topOrigin
     346        || request.url().host() == parameters.topOrigin->host()) {
     347        if ([mutableRequest respondsToSelector:@selector(_setPrivacyProxyFailClosedForUnreachableNonMainHosts:)])
     348            [mutableRequest _setPrivacyProxyFailClosedForUnreachableNonMainHosts:YES];
     349    }
    347350
    348351#if ENABLE(APP_PRIVACY_REPORT)
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

    r290722 r291206  
    932932        NSURLSessionTaskTransactionMetrics *metrics = taskMetrics.transactionMetrics.lastObject;
    933933#if HAVE(NETWORK_CONNECTION_PRIVACY_STANCE)
    934         auto privateRelayed = metrics._privacyStance == nw_connection_privacy_stance_direct ? PrivateRelayed::No : PrivateRelayed::Yes;
     934        auto privateRelayed = metrics._privacyStance == nw_connection_privacy_stance_failed ? PrivateRelayed::No : PrivateRelayed::Yes;
    935935#else
    936936        auto privateRelayed = PrivateRelayed::No;
     
    17221722    // or the main frame main resource was private relayed, then set all properties
    17231723    // on the one copy.
    1724     if (hadMainFrameMainResourcePrivateRelayed) {
     1724    if (hadMainFrameMainResourcePrivateRelayed || request.url().host() == clientOrigin.topOrigin.host) {
    17251725        RetainPtr<NSMutableURLRequest> mutableRequest = adoptNS([nsRequest.get() mutableCopy]);
    17261726        if ([mutableRequest respondsToSelector:@selector(_setPrivacyProxyFailClosedForUnreachableNonMainHosts:)])
Note: See TracChangeset for help on using the changeset viewer.