Changeset 239592 in webkit


Ignore:
Timestamp:
Jan 3, 2019 8:51:44 AM (5 years ago)
Author:
achristensen@apple.com
Message:

NetworkProcess should initialize its default NetworkSession with parameters from the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=192967

Reviewed by Brent Fulgham.

I moved 3 of the NetworkProcessCreationParameters to use corresponding values of a WebsiteDataStoreParameters.
More will be moved in the near future, like indexedDatabaseDirectory.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

Location:
trunk/Source/WebKit
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r239590 r239592  
     12019-01-03  Alex Christensen  <achristensen@webkit.org>
     2
     3        NetworkProcess should initialize its default NetworkSession with parameters from the UIProcess
     4        https://bugs.webkit.org/show_bug.cgi?id=192967
     5
     6        Reviewed by Brent Fulgham.
     7
     8        I moved 3 of the NetworkProcessCreationParameters to use corresponding values of a WebsiteDataStoreParameters.
     9        More will be moved in the near future, like indexedDatabaseDirectory.
     10
     11        * NetworkProcess/NetworkProcess.cpp:
     12        (WebKit::NetworkProcess::initializeNetworkProcess):
     13        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     14        (WebKit::NetworkProcessCreationParameters::encode const):
     15        (WebKit::NetworkProcessCreationParameters::decode):
     16        * NetworkProcess/NetworkProcessCreationParameters.h:
     17        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     18        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     19        * UIProcess/WebProcessPool.cpp:
     20        (WebKit::WebProcessPool::ensureNetworkProcess):
     21
    1222019-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>
    223
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r239486 r239592  
    299299        NetworkStorageSession::switchToNewTestingSession();
    300300
    301     NetworkSessionCreationParameters sessionCreationParameters { };
    302 #if PLATFORM(COCOA)
    303     sessionCreationParameters.httpProxy = URL(URL(), parameters.httpProxy);
    304     sessionCreationParameters.httpsProxy = URL(URL(), parameters.httpsProxy);
    305 #endif
    306     SessionTracker::setSession(PAL::SessionID::defaultSessionID(), NetworkSession::create(WTFMove(sessionCreationParameters)));
     301    auto sessionID = parameters.defaultDataStoreParameters.networkSessionParameters.sessionID;
     302    SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.defaultDataStoreParameters.networkSessionParameters)));
    307303
    308304#if ENABLE(INDEXED_DATABASE)
     
    322318
    323319    auto* defaultSession = SessionTracker::networkSession(PAL::SessionID::defaultSessionID());
    324     for (const auto& cookie : parameters.defaultSessionPendingCookies)
     320    for (const auto& cookie : parameters.defaultDataStoreParameters.pendingCookies)
    325321        defaultSession->networkStorageSession().setCookie(cookie);
    326322
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp

    r239486 r239592  
    5353    encoder << uiProcessCookieStorageIdentifier;
    5454#endif
    55     encoder << defaultSessionPendingCookies;
    5655#if PLATFORM(IOS_FAMILY)
    5756    encoder << cookieStorageDirectoryExtensionHandle;
     
    7170    encoder << ctDataConnectionServiceType;
    7271#endif
    73     encoder << httpProxy;
    74     encoder << httpsProxy;
    7572    IPC::encode(encoder, networkATSContext.get());
    7673    encoder << storageAccessAPIEnabled;
    7774    encoder << suppressesConnectionTerminationOnSystemChange;
    7875#endif
     76    encoder << defaultDataStoreParameters;
    7977#if USE(SOUP)
    8078    encoder << cookiePersistentStoragePath;
     
    135133        return false;
    136134#endif
    137     if (!decoder.decode(result.defaultSessionPendingCookies))
    138         return false;
    139135#if PLATFORM(IOS_FAMILY)
    140136    Optional<SandboxExtension::Handle> cookieStorageDirectoryExtensionHandle;
     
    179175        return false;
    180176#endif
    181     if (!decoder.decode(result.httpProxy))
    182         return false;
    183     if (!decoder.decode(result.httpsProxy))
    184         return false;
    185177    if (!IPC::decode(decoder, result.networkATSContext))
    186178        return false;
     
    190182        return false;
    191183#endif
     184
     185    Optional<WebsiteDataStoreParameters> defaultDataStoreParameters;
     186    decoder >> defaultDataStoreParameters;
     187    if (!defaultDataStoreParameters)
     188        return false;
     189    result.defaultDataStoreParameters = WTFMove(*defaultDataStoreParameters);
    192190
    193191#if USE(SOUP)
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h

    r239486 r239592  
    2828#include "CacheModel.h"
    2929#include "SandboxExtension.h"
     30#include "WebsiteDataStoreParameters.h"
    3031#include <WebCore/Cookie.h>
    3132#include <wtf/ProcessID.h>
     
    6364    Vector<uint8_t> uiProcessCookieStorageIdentifier;
    6465#endif
    65     Vector<WebCore::Cookie> defaultSessionPendingCookies;
    6666#if PLATFORM(IOS_FAMILY)
    6767    SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
     
    8383    String ctDataConnectionServiceType;
    8484#endif
    85     String httpProxy;
    86     String httpsProxy;
    8785    RetainPtr<CFDataRef> networkATSContext;
    8886    bool storageAccessAPIEnabled;
     
    9088#endif
    9189
     90    WebsiteDataStoreParameters defaultDataStoreParameters;
     91   
    9292#if USE(SOUP)
    9393    String cookiePersistentStoragePath;
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r239322 r239592  
    265265#endif
    266266        if (isSafari) {
    267             parameters.httpProxy = [defaults stringForKey:(NSString *)WebKit2HTTPProxyDefaultsKey];
    268             parameters.httpsProxy = [defaults stringForKey:(NSString *)WebKit2HTTPSProxyDefaultsKey];
     267            parameters.defaultDataStoreParameters.networkSessionParameters.httpProxy = URL(URL(), [defaults stringForKey:(NSString *)WebKit2HTTPProxyDefaultsKey]);
     268            parameters.defaultDataStoreParameters.networkSessionParameters.httpsProxy = URL(URL(), [defaults stringForKey:(NSString *)WebKit2HTTPSProxyDefaultsKey]);
    269269        }
    270270    }
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r239535 r239592  
    477477
    478478    if (m_websiteDataStore) {
    479         parameters.defaultSessionPendingCookies = copyToVector(m_websiteDataStore->websiteDataStore().pendingCookies());
     479        parameters.defaultDataStoreParameters.pendingCookies = copyToVector(m_websiteDataStore->websiteDataStore().pendingCookies());
    480480        m_websiteDataStore->websiteDataStore().clearPendingCookies();
    481481    }
Note: See TracChangeset for help on using the changeset viewer.