Changeset 248677 in webkit


Ignore:
Timestamp:
Aug 14, 2019 10:24:17 AM (5 years ago)
Author:
youenn@apple.com
Message:

Remove use of emptySessionID from NetworkLoadParameters
https://bugs.webkit.org/show_bug.cgi?id=200712

Reviewed by Alex Christensen.

Make NetworkLoadParameters constructor take a session ID.
Update call sites accordingly.

  • NetworkProcess/AdClickAttributionManager.cpp:

(WebKit::AdClickAttributionManager::fireConversionRequest):

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

  • NetworkProcess/NetworkLoadParameters.h:

(WebKit::NetworkLoadParameters::NetworkLoadParameters):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/NetworkResourceLoadParameters.h:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):

Location:
trunk/Source/WebKit
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r248675 r248677  
     12019-08-14  Youenn Fablet  <youenn@apple.com>
     2
     3        Remove use of emptySessionID from NetworkLoadParameters
     4        https://bugs.webkit.org/show_bug.cgi?id=200712
     5
     6        Reviewed by Alex Christensen.
     7
     8        Make NetworkLoadParameters constructor take a session ID.
     9        Update call sites accordingly.
     10
     11        * NetworkProcess/AdClickAttributionManager.cpp:
     12        (WebKit::AdClickAttributionManager::fireConversionRequest):
     13        * NetworkProcess/Downloads/DownloadManager.cpp:
     14        (WebKit::DownloadManager::startDownload):
     15        * NetworkProcess/NetworkCORSPreflightChecker.cpp:
     16        (WebKit::NetworkCORSPreflightChecker::startPreflight):
     17        * NetworkProcess/NetworkLoadParameters.h:
     18        (WebKit::NetworkLoadParameters::NetworkLoadParameters):
     19        * NetworkProcess/NetworkProcess.cpp:
     20        (WebKit::NetworkProcess::preconnectTo):
     21        * NetworkProcess/NetworkResourceLoadParameters.cpp:
     22        (WebKit::NetworkResourceLoadParameters::encode const):
     23        (WebKit::NetworkResourceLoadParameters::decode):
     24        * NetworkProcess/NetworkResourceLoadParameters.h:
     25        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
     26        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
     27        (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
     28        * WebProcess/Network/WebLoaderStrategy.cpp:
     29        (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
     30        (WebKit::WebLoaderStrategy::loadResourceSynchronously):
     31        (WebKit::WebLoaderStrategy::startPingLoad):
     32        (WebKit::WebLoaderStrategy::preconnectTo):
     33
    1342019-08-14  Youenn Fablet  <youenn@apple.com>
    235
  • trunk/Source/WebKit/NetworkProcess/AdClickAttributionManager.cpp

    r245179 r248677  
    164164    static uint64_t identifier = 0;
    165165   
    166     NetworkResourceLoadParameters loadParameters;
     166    NetworkResourceLoadParameters loadParameters { PAL::SessionID::defaultSessionID() };
    167167    loadParameters.identifier = ++identifier;
    168168    loadParameters.request = request;
    169169    loadParameters.sourceOrigin = SecurityOrigin::create(conversionReferrerURL);
    170170    loadParameters.parentPID = presentingApplicationPID();
    171     loadParameters.sessionID = PAL::SessionID::defaultSessionID();
    172171    loadParameters.storedCredentialsPolicy = StoredCredentialsPolicy::EphemeralStatelessCookieless;
    173172    loadParameters.options = options;
  • trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp

    r248593 r248677  
    5050        return;
    5151
    52     NetworkLoadParameters parameters;
    53     parameters.sessionID = sessionID;
     52    NetworkLoadParameters parameters { sessionID };
    5453    parameters.request = request;
    5554    parameters.clientCredentialPolicy = ClientCredentialPolicy::MayAskClientForCredentials;
  • trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp

    r245979 r248677  
    6464    RELEASE_LOG_IF_ALLOWED("startPreflight");
    6565
    66     NetworkLoadParameters loadParameters;
    67     loadParameters.sessionID = m_parameters.sessionID;
     66    NetworkLoadParameters loadParameters { m_parameters.sessionID };
    6867    loadParameters.request = createAccessControlPreflightRequest(m_parameters.originalRequest, m_parameters.sourceOrigin, m_parameters.referrer);
    6968    if (!m_parameters.userAgent.isNull())
  • trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h

    r245979 r248677  
    4040class NetworkLoadParameters {
    4141public:
     42    explicit NetworkLoadParameters(PAL::SessionID sessionID)
     43        : sessionID(sessionID)
     44    {
     45    }
     46
     47    PAL::SessionID sessionID;
    4248    WebCore::PageIdentifier webPageID;
    4349    uint64_t webFrameID { 0 };
    4450    WTF::ProcessID parentPID { 0 };
    45     PAL::SessionID sessionID { PAL::SessionID::emptySessionID() };
    4651    WebCore::ResourceRequest request;
    4752    WebCore::ContentSniffingPolicy contentSniffingPolicy { WebCore::ContentSniffingPolicy::SniffContent };
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r248665 r248677  
    22242224{
    22252225#if ENABLE(SERVER_PRECONNECT)
    2226     NetworkLoadParameters parameters;
     2226    NetworkLoadParameters parameters { PAL::SessionID::defaultSessionID() };
    22272227    parameters.request = ResourceRequest { url };
    2228     parameters.sessionID = PAL::SessionID::defaultSessionID();
    22292228    parameters.storedCredentialsPolicy = storedCredentialsPolicy;
    22302229    parameters.shouldPreconnectOnly = PreconnectOnly::Yes;
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp

    r248139 r248677  
    3434void NetworkResourceLoadParameters::encode(IPC::Encoder& encoder) const
    3535{
     36    encoder << sessionID;
    3637    encoder << identifier;
    3738    encoder << webPageID;
    3839    encoder << webFrameID;
    3940    encoder << parentPID;
    40     encoder << sessionID;
    4141    encoder << request;
    4242
     
    104104}
    105105
    106 bool NetworkResourceLoadParameters::decode(IPC::Decoder& decoder, NetworkResourceLoadParameters& result)
     106Optional<NetworkResourceLoadParameters> NetworkResourceLoadParameters::decode(IPC::Decoder& decoder)
    107107{
     108    Optional<PAL::SessionID> sessionID;
     109    decoder >> sessionID;
     110
     111    if (!sessionID)
     112        return WTF::nullopt;
     113
     114    NetworkResourceLoadParameters result { *sessionID };
     115
    108116    if (!decoder.decode(result.identifier))
    109         return false;
     117        return WTF::nullopt;
    110118
    111119    Optional<PageIdentifier> webPageID;
    112120    decoder >> webPageID;
    113121    if (!webPageID)
    114         return false;
     122        return WTF::nullopt;
    115123    result.webPageID = *webPageID;
    116124
    117125    if (!decoder.decode(result.webFrameID))
    118         return false;
     126        return WTF::nullopt;
    119127
    120128    if (!decoder.decode(result.parentPID))
    121         return false;
    122 
    123     if (!decoder.decode(result.sessionID))
    124         return false;
     129        return WTF::nullopt;
    125130
    126131    if (!decoder.decode(result.request))
    127         return false;
     132        return WTF::nullopt;
    128133
    129134    bool hasHTTPBody;
    130135    if (!decoder.decode(hasHTTPBody))
    131         return false;
     136        return WTF::nullopt;
    132137
    133138    if (hasHTTPBody) {
    134139        RefPtr<FormData> formData = FormData::decode(decoder);
    135140        if (!formData)
    136             return false;
     141            return WTF::nullopt;
    137142        result.request.setHTTPBody(WTFMove(formData));
    138143
     
    140145        decoder >> requestBodySandboxExtensionHandles;
    141146        if (!requestBodySandboxExtensionHandles)
    142             return false;
     147            return WTF::nullopt;
    143148        for (size_t i = 0; i < requestBodySandboxExtensionHandles->size(); ++i) {
    144149            if (auto extension = SandboxExtension::create(WTFMove(requestBodySandboxExtensionHandles->at(i))))
     
    151156        decoder >> resourceSandboxExtensionHandle;
    152157        if (!resourceSandboxExtensionHandle)
    153             return false;
     158            return WTF::nullopt;
    154159        result.resourceSandboxExtension = SandboxExtension::create(WTFMove(*resourceSandboxExtensionHandle));
    155160    }
    156161
    157162    if (!decoder.decodeEnum(result.contentSniffingPolicy))
    158         return false;
     163        return WTF::nullopt;
    159164    if (!decoder.decodeEnum(result.contentEncodingSniffingPolicy))
    160         return false;
     165        return WTF::nullopt;
    161166    if (!decoder.decodeEnum(result.storedCredentialsPolicy))
    162         return false;
     167        return WTF::nullopt;
    163168    if (!decoder.decodeEnum(result.clientCredentialPolicy))
    164         return false;
     169        return WTF::nullopt;
    165170    if (!decoder.decodeEnum(result.shouldPreconnectOnly))
    166         return false;
     171        return WTF::nullopt;
    167172    if (!decoder.decode(result.shouldClearReferrerOnHTTPSToHTTPRedirect))
    168         return false;
     173        return WTF::nullopt;
    169174    if (!decoder.decode(result.needsCertificateInfo))
    170         return false;
     175        return WTF::nullopt;
    171176    if (!decoder.decode(result.isMainFrameNavigation))
    172         return false;
     177        return WTF::nullopt;
    173178    if (!decoder.decode(result.isMainResourceNavigationForAnyFrame))
    174         return false;
     179        return WTF::nullopt;
    175180    if (!decoder.decode(result.maximumBufferingTime))
    176         return false;
     181        return WTF::nullopt;
    177182
    178183    bool hasSourceOrigin;
    179184    if (!decoder.decode(hasSourceOrigin))
    180         return false;
     185        return WTF::nullopt;
    181186    if (hasSourceOrigin) {
    182187        result.sourceOrigin = SecurityOrigin::decode(decoder);
    183188        if (!result.sourceOrigin)
    184             return false;
     189            return WTF::nullopt;
    185190    }
    186191
     
    188193    decoder >> options;
    189194    if (!options)
    190         return false;
     195        return WTF::nullopt;
    191196    result.options = *options;
    192197
    193198    if (!decoder.decode(result.cspResponseHeaders))
    194         return false;
     199        return WTF::nullopt;
    195200    if (!decoder.decode(result.originalRequestHeaders))
    196         return false;
     201        return WTF::nullopt;
    197202
    198203    Optional<bool> shouldRestrictHTTPResponseAccess;
    199204    decoder >> shouldRestrictHTTPResponseAccess;
    200205    if (!shouldRestrictHTTPResponseAccess)
    201         return false;
     206        return WTF::nullopt;
    202207    result.shouldRestrictHTTPResponseAccess = *shouldRestrictHTTPResponseAccess;
    203208
    204209    if (!decoder.decodeEnum(result.preflightPolicy))
    205         return false;
     210        return WTF::nullopt;
    206211
    207212    Optional<bool> shouldEnableCrossOriginResourcePolicy;
    208213    decoder >> shouldEnableCrossOriginResourcePolicy;
    209214    if (!shouldEnableCrossOriginResourcePolicy)
    210         return false;
     215        return WTF::nullopt;
    211216    result.shouldEnableCrossOriginResourcePolicy = *shouldEnableCrossOriginResourcePolicy;
    212217
    213218    if (!decoder.decode(result.frameAncestorOrigins))
    214         return false;
     219        return WTF::nullopt;
    215220
    216221    Optional<bool> isHTTPSUpgradeEnabled;
    217222    decoder >> isHTTPSUpgradeEnabled;
    218223    if (!isHTTPSUpgradeEnabled)
    219         return false;
     224        return WTF::nullopt;
    220225    result.isHTTPSUpgradeEnabled = *isHTTPSUpgradeEnabled;
    221226   
    222227#if ENABLE(CONTENT_EXTENSIONS)
    223228    if (!decoder.decode(result.mainDocumentURL))
    224         return false;
     229        return WTF::nullopt;
    225230
    226231    Optional<Optional<UserContentControllerIdentifier>> userContentControllerIdentifier;
    227232    decoder >> userContentControllerIdentifier;
    228233    if (!userContentControllerIdentifier)
    229         return false;
     234        return WTF::nullopt;
    230235    result.userContentControllerIdentifier = *userContentControllerIdentifier;
    231236#endif
    232237
    233     return true;
     238    return result;
    234239}
    235240   
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h

    r239474 r248677  
    4545class NetworkResourceLoadParameters : public NetworkLoadParameters {
    4646public:
     47    explicit NetworkResourceLoadParameters(PAL::SessionID sessionID)
     48        : NetworkLoadParameters(sessionID)
     49    {
     50    }
     51
    4752    void encode(IPC::Encoder&) const;
    48     static bool decode(IPC::Decoder&, NetworkResourceLoadParameters&);
     53    static Optional<NetworkResourceLoadParameters> decode(IPC::Decoder&);
    4954
    5055    ResourceLoadIdentifier identifier { 0 };
  • trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp

    r241008 r248677  
    5353    ASSERT(!m_cacheEntry || m_cacheEntry->needsValidation());
    5454
    55     NetworkLoadParameters parameters;
     55    NetworkLoadParameters parameters { PAL::SessionID::defaultSessionID() };
    5656    parameters.webPageID = globalFrameID.first;
    5757    parameters.webFrameID = globalFrameID.second;
    58     parameters.sessionID = PAL::SessionID::defaultSessionID();
    5958    parameters.storedCredentialsPolicy = StoredCredentialsPolicy::Use;
    6059    parameters.contentSniffingPolicy = ContentSniffingPolicy::DoNotSniffContent;
  • trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp

    r247868 r248677  
    267267    StoredCredentialsPolicy storedCredentialsPolicy = resourceLoader.shouldUseCredentialStorage() ? StoredCredentialsPolicy::Use : StoredCredentialsPolicy::DoNotUse;
    268268
    269     NetworkResourceLoadParameters loadParameters;
     269    NetworkResourceLoadParameters loadParameters { sessionID };
    270270    loadParameters.identifier = identifier;
    271271    loadParameters.webPageID = trackingParameters.pageID;
    272272    loadParameters.webFrameID = trackingParameters.frameID;
    273273    loadParameters.parentPID = presentingApplicationPID();
    274     loadParameters.sessionID = sessionID;
    275274    loadParameters.request = request;
    276275    loadParameters.contentSniffingPolicy = contentSniffingPolicy;
     
    540539    }
    541540
    542     NetworkResourceLoadParameters loadParameters;
     541    NetworkResourceLoadParameters loadParameters { sessionID };
    543542    loadParameters.identifier = resourceLoadIdentifier;
    544543    loadParameters.webPageID = pageID;
    545544    loadParameters.webFrameID = frameID;
    546545    loadParameters.parentPID = presentingApplicationPID();
    547     loadParameters.sessionID = sessionID;
    548546    loadParameters.request = request;
    549547    loadParameters.contentSniffingPolicy = ContentSniffingPolicy::SniffContent;
     
    608606    }
    609607
    610     NetworkResourceLoadParameters loadParameters;
     608    NetworkResourceLoadParameters loadParameters { frame.page() ? frame.page()->sessionID() : PAL::SessionID::defaultSessionID() };
    611609    loadParameters.identifier = generateLoadIdentifier();
    612610    loadParameters.request = request;
    613611    loadParameters.sourceOrigin = &document->securityOrigin();
    614612    loadParameters.parentPID = presentingApplicationPID();
    615     loadParameters.sessionID = frame.page() ? frame.page()->sessionID() : PAL::SessionID::defaultSessionID();
    616613    loadParameters.storedCredentialsPolicy = options.credentials == FetchOptions::Credentials::Omit ? StoredCredentialsPolicy::DoNotUse : StoredCredentialsPolicy::Use;
    617614    loadParameters.options = options;
     
    668665    }
    669666
    670     NetworkResourceLoadParameters parameters;
     667    NetworkResourceLoadParameters parameters { webPage->sessionID() };
    671668    parameters.request = ResourceRequest { url };
    672669    parameters.webPageID = webPage->pageID();
    673670    parameters.webFrameID = webFrame->frameID();
    674671    parameters.parentPID = presentingApplicationPID();
    675     parameters.sessionID = webPage->sessionID();
    676672    parameters.storedCredentialsPolicy = storedCredentialsPolicy;
    677673    parameters.shouldPreconnectOnly = PreconnectOnly::Yes;
Note: See TracChangeset for help on using the changeset viewer.