Changeset 238630 in webkit


Ignore:
Timestamp:
Nov 28, 2018 1:09:09 PM (5 years ago)
Author:
achristensen@apple.com
Message:

Move logCookieInformation bool from NetworkProcess to NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=192049

Reviewed by Chris Dumez.

Part of an effort to remove globals in the NetworkProcess.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::shouldLogCookieInformation const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::shouldLogCookieInformation):
(WebKit::NetworkResourceLoader::logCookieInformation const):
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
(WebKit::NetworkResourceLoader::logCookieInformation):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::logCookieInformation const):

  • NetworkProcess/NetworkSessionCreationParameters.h:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

Location:
trunk/Source/WebKit
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r238625 r238630  
     12018-11-28  Alex Christensen  <achristensen@webkit.org>
     2
     3        Move logCookieInformation bool from NetworkProcess to NetworkSession
     4        https://bugs.webkit.org/show_bug.cgi?id=192049
     5
     6        Reviewed by Chris Dumez.
     7
     8        Part of an effort to remove globals in the NetworkProcess.
     9
     10        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     11        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
     12        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
     13        * NetworkProcess/NetworkProcess.cpp:
     14        (WebKit::NetworkProcess::initializeNetworkProcess):
     15        * NetworkProcess/NetworkProcess.h:
     16        (WebKit::NetworkProcess::shouldLogCookieInformation const): Deleted.
     17        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     18        (WebKit::NetworkProcessCreationParameters::encode const):
     19        (WebKit::NetworkProcessCreationParameters::decode):
     20        * NetworkProcess/NetworkProcessCreationParameters.h:
     21        * NetworkProcess/NetworkResourceLoader.cpp:
     22        (WebKit::NetworkResourceLoader::didFinishLoading):
     23        (WebKit::NetworkResourceLoader::sendResultForCacheEntry):
     24        (WebKit::NetworkResourceLoader::shouldLogCookieInformation):
     25        (WebKit::NetworkResourceLoader::logCookieInformation const):
     26        (WebKit::logBlockedCookieInformation):
     27        (WebKit::logCookieInformationInternal):
     28        (WebKit::NetworkResourceLoader::logCookieInformation):
     29        * NetworkProcess/NetworkResourceLoader.h:
     30        * NetworkProcess/NetworkSession.h:
     31        (WebKit::NetworkSession::logCookieInformation const):
     32        * NetworkProcess/NetworkSessionCreationParameters.h:
     33        (WebKit::NetworkSessionCreationParameters::encode const):
     34        (WebKit::NetworkSessionCreationParameters::decode):
     35        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
     36        (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
     37        (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
     38        * NetworkProcess/cocoa/NetworkSessionCocoa.h:
     39        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
     40        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
     41        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     42        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     43        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
     44        (WebKit::WebsiteDataStore::parameters):
     45
    1462018-11-28  Ryan Haddad  <ryanhaddad@apple.com>
    247
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r238283 r238630  
    4444#include "NetworkResourceLoader.h"
    4545#include "NetworkResourceLoaderMessages.h"
     46#include "NetworkSession.h"
    4647#include "NetworkSocketStream.h"
    4748#include "NetworkSocketStreamMessages.h"
     
    456457    std::tie(cookieString, secureCookiesAccessed) = networkStorageSession.cookiesForDOM(firstParty, sameSiteInfo, url, frameID, pageID, includeSecureCookies);
    457458#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    458     if (NetworkProcess::singleton().shouldLogCookieInformation())
    459         NetworkResourceLoader::logCookieInformation("NetworkConnectionToWebProcess::cookiesForDOM", reinterpret_cast<const void*>(this), networkStorageSession, firstParty, sameSiteInfo, url, emptyString(), frameID, pageID, std::nullopt);
     459    if (auto session = SessionTracker::networkSession(sessionID)) {
     460        if (session->shouldLogCookieInformation())
     461            NetworkResourceLoader::logCookieInformation("NetworkConnectionToWebProcess::cookiesForDOM", reinterpret_cast<const void*>(this), networkStorageSession, firstParty, sameSiteInfo, url, emptyString(), frameID, pageID, std::nullopt);
     462    }
    460463#endif
    461464}
     
    466469    networkStorageSession.setCookiesFromDOM(firstParty, sameSiteInfo, url, frameID, pageID, cookieString);
    467470#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    468     if (NetworkProcess::singleton().shouldLogCookieInformation())
    469         NetworkResourceLoader::logCookieInformation("NetworkConnectionToWebProcess::setCookiesFromDOM", reinterpret_cast<const void*>(this), networkStorageSession, firstParty, sameSiteInfo, url, emptyString(), frameID, pageID, std::nullopt);
     471    if (auto session = SessionTracker::networkSession(sessionID)) {
     472        if (session->shouldLogCookieInformation())
     473            NetworkResourceLoader::logCookieInformation("NetworkConnectionToWebProcess::setCookiesFromDOM", reinterpret_cast<const void*>(this), networkStorageSession, firstParty, sameSiteInfo, url, emptyString(), frameID, pageID, std::nullopt);
     474    }
    470475#endif
    471476}
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r238283 r238630  
    322322        NetworkStorageSession::switchToNewTestingSession();
    323323
    324 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    325     m_logCookieInformation = parameters.logCookieInformation;
    326 #endif
    327 
    328324    SessionTracker::setSession(PAL::SessionID::defaultSessionID(), NetworkSession::create(NetworkSessionCreationParameters()));
    329325
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r238283 r238630  
    177177    void preconnectTo(const WebCore::URL&, WebCore::StoredCredentialsPolicy);
    178178
    179 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    180     bool shouldLogCookieInformation() const { return m_logCookieInformation; }
    181 #endif
    182 
    183179    void setSessionIsControlledByAutomation(PAL::SessionID, bool);
    184180    bool sessionIsControlledByAutomation(PAL::SessionID) const;
     
    363359    bool m_canHandleHTTPSServerTrustEvaluation;
    364360    Seconds m_loadThrottleLatency;
    365 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    366     bool m_logCookieInformation { false };
    367 #endif
    368361
    369362    RefPtr<NetworkCache::Cache> m_cache;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp

    r238283 r238630  
    9393    encoder << cookiePersistentStorageFile;
    9494#endif
    95 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    96     encoder << logCookieInformation;
    97 #endif
    9895#if ENABLE(NETWORK_CAPTURE)
    9996    encoder << recordReplayMode;
     
    234231#endif
    235232
    236 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    237     if (!decoder.decode(result.logCookieInformation))
    238         return false;
    239 #endif
    240 
    241233#if ENABLE(NETWORK_CAPTURE)
    242234    if (!decoder.decode(result.recordReplayMode))
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h

    r238283 r238630  
    108108#endif
    109109
    110 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    111     bool logCookieInformation { false };
    112 #endif
    113 
    114110#if ENABLE(NETWORK_CAPTURE)
    115111    String recordReplayMode;
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r237895 r238630  
    551551
    552552#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    553     if (shouldLogCookieInformation())
     553    if (shouldLogCookieInformation(sessionID()))
    554554        logCookieInformation();
    555555#endif
     
    886886
    887887#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    888     if (shouldLogCookieInformation())
     888    if (shouldLogCookieInformation(sessionID()))
    889889        logCookieInformation();
    890890#endif
     
    985985
    986986#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    987 bool NetworkResourceLoader::shouldLogCookieInformation()
    988 {
    989     return NetworkProcess::singleton().shouldLogCookieInformation();
     987bool NetworkResourceLoader::shouldLogCookieInformation(const PAL::SessionID& sessionID)
     988{
     989    if (auto session = SessionTracker::networkSession(sessionID))
     990        return session->shouldLogCookieInformation();
     991    return false;
    990992}
    991993
     
    10021004void NetworkResourceLoader::logCookieInformation() const
    10031005{
    1004     ASSERT(shouldLogCookieInformation());
     1006    ASSERT(shouldLogCookieInformation(sessionID()));
    10051007
    10061008    auto networkStorageSession = WebCore::NetworkStorageSession::storageSession(sessionID());
     
    10121014static void logBlockedCookieInformation(const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const WebCore::URL& firstParty, const SameSiteInfo& sameSiteInfo, const WebCore::URL& url, const String& referrer, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, std::optional<uint64_t> identifier)
    10131015{
    1014     ASSERT(NetworkResourceLoader::shouldLogCookieInformation());
     1016    ASSERT(NetworkResourceLoader::shouldLogCookieInformation(networkStorageSession.sessionID()));
    10151017
    10161018    auto escapedURL = escapeForJSON(url.string());
     
    10391041static void logCookieInformationInternal(const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const WebCore::URL& firstParty, const WebCore::SameSiteInfo& sameSiteInfo, const WebCore::URL& url, const String& referrer, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, std::optional<uint64_t> identifier)
    10401042{
    1041     ASSERT(NetworkResourceLoader::shouldLogCookieInformation());
     1043    ASSERT(NetworkResourceLoader::shouldLogCookieInformation(networkStorageSession.sessionID()));
    10421044
    10431045    Vector<WebCore::Cookie> cookies;
     
    11001102void NetworkResourceLoader::logCookieInformation(const String& label, const void* loggedObject, const NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, std::optional<uint64_t> identifier)
    11011103{
    1102     ASSERT(shouldLogCookieInformation());
     1104    ASSERT(shouldLogCookieInformation(networkStorageSession.sessionID()));
    11031105
    11041106    if (networkStorageSession.shouldBlockCookies(firstParty, url, frameID, pageID))
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h

    r237895 r238630  
    113113
    114114#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    115     static bool shouldLogCookieInformation();
     115    static bool shouldLogCookieInformation(const PAL::SessionID&);
    116116    static void logCookieInformation(const String& label, const void* loggedObject, const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::SameSiteInfo&, const WebCore::URL&, const String& referrer, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, std::optional<uint64_t> identifier);
    117117#endif
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.h

    r234990 r238630  
    4848    virtual void invalidateAndCancel();
    4949    virtual void clearCredentials() { };
     50    virtual bool shouldLogCookieInformation() const { return false; }
    5051
    5152    PAL::SessionID sessionID() const { return m_sessionID; }
  • trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h

    r238051 r238630  
    5656    String sourceApplicationBundleIdentifier;
    5757    String sourceApplicationSecondaryIdentifier;
     58    bool shouldLogCookieInformation { false };
    5859#endif
    5960#if USE(CURL)
     
    7172    encoder << sourceApplicationBundleIdentifier;
    7273    encoder << sourceApplicationSecondaryIdentifier;
     74    encoder << shouldLogCookieInformation;
    7375#endif
    7476#if USE(CURL)
     
    107109    if (!sourceApplicationSecondaryIdentifier)
    108110        return std::nullopt;
     111   
     112    std::optional<bool> shouldLogCookieInformation;
     113    decoder >> shouldLogCookieInformation;
     114    if (!shouldLogCookieInformation)
     115        return std::nullopt;
    109116#endif
    110117
     
    124131        , WTFMove(*sourceApplicationBundleIdentifier)
    125132        , WTFMove(*sourceApplicationSecondaryIdentifier)
     133        , WTFMove(*shouldLogCookieInformation)
    126134#endif
    127135#if USE(CURL)
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm

    r238615 r238630  
    230230    if (shouldBlockCookies) {
    231231#if !RELEASE_LOG_DISABLED
    232         if (NetworkProcess::singleton().shouldLogCookieInformation())
     232        if (m_session->shouldLogCookieInformation())
    233233            RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), Network, "%p - NetworkDataTaskCocoa::logCookieInformation: pageID = %llu, frameID = %llu, taskID = %lu: Blocking cookies for URL %s", this, pageID, frameID, (unsigned long)[m_task taskIdentifier], nsRequest.URL.absoluteString.UTF8String);
    234234#else
     
    347347    shouldBlockCookies = m_session->networkStorageSession().shouldBlockCookies(request, m_frameID, m_pageID);
    348348#if !RELEASE_LOG_DISABLED
    349     if (NetworkProcess::singleton().shouldLogCookieInformation())
     349    if (m_session->shouldLogCookieInformation())
    350350        RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), Network, "%p - NetworkDataTaskCocoa::willPerformHTTPRedirection::logCookieInformation: pageID = %llu, frameID = %llu, taskID = %lu: %s cookies for redirect URL %s", this, m_pageID, m_frameID, (unsigned long)[m_task taskIdentifier], (shouldBlockCookies ? "Blocking" : "Not blocking"), request.url().string().utf8().data());
    351351#else
     
    363363    if (!shouldBlockCookies) {
    364364#if !RELEASE_LOG_DISABLED
    365         if (NetworkProcess::singleton().shouldLogCookieInformation())
     365        if (m_session->shouldLogCookieInformation())
    366366            RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), Network, "%p - NetworkDataTaskCocoa::willPerformHTTPRedirection::logCookieInformation: pageID = %llu, frameID = %llu, taskID = %lu: Not partitioning cookies for redirect URL %s", this, m_pageID, m_frameID, (unsigned long)[m_task taskIdentifier], request.url().string().utf8().data());
    367367#else
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h

    r237266 r238630  
    7171    void invalidateAndCancel() override;
    7272    void clearCredentials() override;
     73    bool shouldLogCookieInformation() const override { return m_shouldLogCookieInformation; }
    7374
    7475    HashMap<NetworkDataTaskCocoa::TaskIdentifier, NetworkDataTaskCocoa*> m_dataTaskMapWithCredentials;
     
    8384    String m_boundInterfaceIdentifier;
    8485    RetainPtr<CFDictionaryRef> m_proxyConfiguration;
     86    bool m_shouldLogCookieInformation { false };
    8587
    8688    String m_sourceApplicationBundleIdentifier;
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

    r237266 r238630  
    645645    , m_boundInterfaceIdentifier(parameters.boundInterfaceIdentifier)
    646646    , m_proxyConfiguration(parameters.proxyConfiguration)
     647    , m_shouldLogCookieInformation(parameters.shouldLogCookieInformation)
    647648{
    648649    ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies));
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r237774 r238630  
    295295    parameters.suppressesConnectionTerminationOnSystemChange = m_configuration->suppressesConnectionTerminationOnSystemChange();
    296296
    297 #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    298     parameters.logCookieInformation = [defaults boolForKey:WebKitLogCookieInformationDefaultsKey];
    299 #endif
    300 
    301297#if ENABLE(NETWORK_CAPTURE)
    302298    parameters.recordReplayMode = [defaults stringForKey:WebKitRecordReplayModeDefaultsKey];
  • trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm

    r237266 r238630  
    5858    resolveDirectoriesIfNecessary();
    5959
     60#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
     61    static NSString * const WebKitLogCookieInformationDefaultsKey = @"WebKitLogCookieInformation";
     62    bool shouldLogCookieInformation = [[NSUserDefaults standardUserDefaults] boolForKey:WebKitLogCookieInformationDefaultsKey];
     63#else
     64    bool shouldLogCookieInformation = false;
     65#endif
     66
    6067    WebsiteDataStoreParameters parameters;
    6168    parameters.networkSessionParameters = {
     
    6673        m_configuration.sourceApplicationBundleIdentifier,
    6774        m_configuration.sourceApplicationSecondaryIdentifier,
     75        shouldLogCookieInformation,
    6876    };
    6977
Note: See TracChangeset for help on using the changeset viewer.