Changeset 161112 in webkit


Ignore:
Timestamp:
Dec 28, 2013 2:18:06 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

[WK2][SOUP] Fix handling of cookies when network process is enabled
https://bugs.webkit.org/show_bug.cgi?id=125576

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-28
Reviewed by Carlos Garcia Campos.

Initialize the network process with cookie accept policy, persistent
storage path and type. Use
WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of
WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send
SetCookiePersistentStorage message.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

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

  • Shared/Network/NetworkProcessCreationParameters.h:
  • UIProcess/soup/WebContextSoup.cpp:

(WebKit::WebContext::platformInitializeNetworkProcess):

  • UIProcess/soup/WebCookieManagerProxySoup.cpp:

(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

Location:
trunk/Source/WebKit2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r161106 r161112  
     12013-12-28  Kwang Yul Seo  <skyul@company100.net>
     2
     3        [WK2][SOUP] Fix handling of cookies when network process is enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=125576
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Initialize the network process with cookie accept policy, persistent
     9        storage path and type. Use
     10        WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of
     11        WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send
     12        SetCookiePersistentStorage message.
     13
     14        * NetworkProcess/soup/NetworkProcessSoup.cpp:
     15        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
     16        * Shared/Network/NetworkProcessCreationParameters.cpp:
     17        (WebKit::NetworkProcessCreationParameters::encode):
     18        (WebKit::NetworkProcessCreationParameters::decode):
     19        * Shared/Network/NetworkProcessCreationParameters.h:
     20        * UIProcess/soup/WebContextSoup.cpp:
     21        (WebKit::WebContext::platformInitializeNetworkProcess):
     22        * UIProcess/soup/WebCookieManagerProxySoup.cpp:
     23        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
     24        * WebProcess/soup/WebProcessSoup.cpp:
     25        (WebKit::WebProcess::platformInitializeWebProcess):
     26
    1272013-12-27  Daniel Bates  <dabates@apple.com>
    228
  • trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp

    r160416 r161112  
    3232#include "NetworkProcessCreationParameters.h"
    3333#include "ResourceCachesToClear.h"
     34#include "WebCookieManager.h"
    3435#include <WebCore/FileSystem.h>
    3536#include <WebCore/NotImplemented.h>
     
    8081    soup_session_add_feature(WebCore::ResourceHandle::defaultSession(), SOUP_SESSION_FEATURE(soupCache.get()));
    8182    soup_cache_load(soupCache.get());
     83
     84    if (!parameters.cookiePersistentStoragePath.isEmpty()) {
     85        supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
     86            parameters.cookiePersistentStorageType);
     87    }
     88    supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy);
    8289
    8390    setIgnoreTLSErrors(parameters.ignoreTLSErrors);
  • trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp

    r160355 r161112  
    5656#endif
    5757#if USE(SOUP)
     58    encoder << cookiePersistentStoragePath;
     59    encoder << cookiePersistentStorageType;
     60    encoder.encodeEnum(cookieAcceptPolicy);
    5861    encoder << ignoreTLSErrors;
    5962#endif
     
    9295
    9396#if USE(SOUP)
     97    if (!decoder.decode(result.cookiePersistentStoragePath))
     98        return false;
     99    if (!decoder.decode(result.cookiePersistentStorageType))
     100        return false;
     101    if (!decoder.decodeEnum(result.cookieAcceptPolicy))
     102        return false;
    94103    if (!decoder.decode(result.ignoreTLSErrors))
    95104        return false;
  • trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h

    r160355 r161112  
    3333#include <wtf/Vector.h>
    3434#include <wtf/text/WTFString.h>
     35
     36#if USE(SOUP)
     37#include "HTTPCookieAcceptPolicy.h"
     38#endif
    3539
    3640namespace CoreIPC {
     
    7074
    7175#if USE(SOUP)
     76    String cookiePersistentStoragePath;
     77    uint32_t cookiePersistentStorageType;
     78    HTTPCookieAcceptPolicy cookieAcceptPolicy;
    7279    bool ignoreTLSErrors;
    7380#endif
  • trunk/Source/WebKit2/UIProcess/soup/WebContextSoup.cpp

    r160355 r161112  
    2929
    3030#include "NetworkProcessCreationParameters.h"
     31#include "WebCookieManagerProxy.h"
    3132
    3233namespace WebKit {
     
    3435void WebContext::platformInitializeNetworkProcess(NetworkProcessCreationParameters& parameters)
    3536{
     37    supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
     38    parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
    3639    parameters.ignoreTLSErrors = m_ignoreTLSErrors;
    3740}
  • trunk/Source/WebKit2/UIProcess/soup/WebCookieManagerProxySoup.cpp

    r138607 r161112  
    3434void WebCookieManagerProxy::setCookiePersistentStorage(const String& storagePath, uint32_t storageType)
    3535{
    36     context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebCookieManager::SetCookiePersistentStorage(storagePath, storageType));
     36    context()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::SetCookiePersistentStorage(storagePath, storageType));
    3737
    3838    m_cookiePersistentStoragePath = storagePath;
  • trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp

    r160986 r161112  
    206206        soup_session_add_feature(WebCore::ResourceHandle::defaultSession(), SOUP_SESSION_FEATURE(soupCache.get()));
    207207        soup_cache_load(soupCache.get());
     208
     209        if (!parameters.cookiePersistentStoragePath.isEmpty()) {
     210            supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
     211                parameters.cookiePersistentStorageType);
     212        }
     213        supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy);
    208214#if ENABLE(NETWORK_PROCESS)
    209215    }
     
    215221        supplement<WebSoupRequestManager>()->registerURIScheme(parameters.urlSchemesRegistered[i]);
    216222
    217     if (!parameters.cookiePersistentStoragePath.isEmpty()) {
    218         supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
    219             parameters.cookiePersistentStorageType);
    220     }
    221     supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy);
    222 
    223223    setIgnoreTLSErrors(parameters.ignoreTLSErrors);
    224224
Note: See TracChangeset for help on using the changeset viewer.