Title: [239592] trunk/Source/WebKit
Revision
239592
Author
[email protected]
Date
2019-01-03 08:51:44 -0800 (Thu, 03 Jan 2019)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239591 => 239592)


--- trunk/Source/WebKit/ChangeLog	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/ChangeLog	2019-01-03 16:51:44 UTC (rev 239592)
@@ -1,3 +1,24 @@
+2019-01-03  Alex Christensen  <[email protected]>
+
+        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):
+
 2019-01-03  Wenson Hsieh  <[email protected]>
 
         [iOS] REGRESSION (r239441): Tab cycling to offscreen <select> may not scroll it into view

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (239591 => 239592)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-01-03 16:51:44 UTC (rev 239592)
@@ -298,12 +298,8 @@
     if (parameters.shouldUseTestingNetworkSession)
         NetworkStorageSession::switchToNewTestingSession();
 
-    NetworkSessionCreationParameters sessionCreationParameters { };
-#if PLATFORM(COCOA)
-    sessionCreationParameters.httpProxy = URL(URL(), parameters.httpProxy);
-    sessionCreationParameters.httpsProxy = URL(URL(), parameters.httpsProxy);
-#endif
-    SessionTracker::setSession(PAL::SessionID::defaultSessionID(), NetworkSession::create(WTFMove(sessionCreationParameters)));
+    auto sessionID = parameters.defaultDataStoreParameters.networkSessionParameters.sessionID;
+    SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.defaultDataStoreParameters.networkSessionParameters)));
 
 #if ENABLE(INDEXED_DATABASE)
     addIndexedDatabaseSession(PAL::SessionID::defaultSessionID(), parameters.indexedDatabaseDirectory, parameters.indexedDatabaseDirectoryExtensionHandle);
@@ -321,7 +317,7 @@
 #endif
 
     auto* defaultSession = SessionTracker::networkSession(PAL::SessionID::defaultSessionID());
-    for (const auto& cookie : parameters.defaultSessionPendingCookies)
+    for (const auto& cookie : parameters.defaultDataStoreParameters.pendingCookies)
         defaultSession->networkStorageSession().setCookie(cookie);
 
     for (auto& supplement : m_supplements.values())

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (239591 => 239592)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2019-01-03 16:51:44 UTC (rev 239592)
@@ -52,7 +52,6 @@
 #if PLATFORM(MAC)
     encoder << uiProcessCookieStorageIdentifier;
 #endif
-    encoder << defaultSessionPendingCookies;
 #if PLATFORM(IOS_FAMILY)
     encoder << cookieStorageDirectoryExtensionHandle;
     encoder << containerCachesDirectoryExtensionHandle;
@@ -70,12 +69,11 @@
 #if PLATFORM(IOS_FAMILY)
     encoder << ctDataConnectionServiceType;
 #endif
-    encoder << httpProxy;
-    encoder << httpsProxy;
     IPC::encode(encoder, networkATSContext.get());
     encoder << storageAccessAPIEnabled;
     encoder << suppressesConnectionTerminationOnSystemChange;
 #endif
+    encoder << defaultDataStoreParameters;
 #if USE(SOUP)
     encoder << cookiePersistentStoragePath;
     encoder << cookiePersistentStorageType;
@@ -134,8 +132,6 @@
     if (!decoder.decode(result.uiProcessCookieStorageIdentifier))
         return false;
 #endif
-    if (!decoder.decode(result.defaultSessionPendingCookies))
-        return false;
 #if PLATFORM(IOS_FAMILY)
     Optional<SandboxExtension::Handle> cookieStorageDirectoryExtensionHandle;
     decoder >> cookieStorageDirectoryExtensionHandle;
@@ -178,10 +174,6 @@
     if (!decoder.decode(result.ctDataConnectionServiceType))
         return false;
 #endif
-    if (!decoder.decode(result.httpProxy))
-        return false;
-    if (!decoder.decode(result.httpsProxy))
-        return false;
     if (!IPC::decode(decoder, result.networkATSContext))
         return false;
     if (!decoder.decode(result.storageAccessAPIEnabled))
@@ -190,6 +182,12 @@
         return false;
 #endif
 
+    Optional<WebsiteDataStoreParameters> defaultDataStoreParameters;
+    decoder >> defaultDataStoreParameters;
+    if (!defaultDataStoreParameters)
+        return false;
+    result.defaultDataStoreParameters = WTFMove(*defaultDataStoreParameters);
+
 #if USE(SOUP)
     if (!decoder.decode(result.cookiePersistentStoragePath))
         return false;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (239591 => 239592)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-03 16:51:44 UTC (rev 239592)
@@ -27,6 +27,7 @@
 
 #include "CacheModel.h"
 #include "SandboxExtension.h"
+#include "WebsiteDataStoreParameters.h"
 #include <WebCore/Cookie.h>
 #include <wtf/ProcessID.h>
 #include <wtf/Vector.h>
@@ -62,7 +63,6 @@
 #if PLATFORM(MAC)
     Vector<uint8_t> uiProcessCookieStorageIdentifier;
 #endif
-    Vector<WebCore::Cookie> defaultSessionPendingCookies;
 #if PLATFORM(IOS_FAMILY)
     SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
     SandboxExtension::Handle containerCachesDirectoryExtensionHandle;
@@ -82,13 +82,13 @@
 #if PLATFORM(IOS_FAMILY)
     String ctDataConnectionServiceType;
 #endif
-    String httpProxy;
-    String httpsProxy;
     RetainPtr<CFDataRef> networkATSContext;
     bool storageAccessAPIEnabled;
     bool suppressesConnectionTerminationOnSystemChange;
 #endif
 
+    WebsiteDataStoreParameters defaultDataStoreParameters;
+    
 #if USE(SOUP)
     String cookiePersistentStoragePath;
     uint32_t cookiePersistentStorageType { 0 };

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (239591 => 239592)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2019-01-03 16:51:44 UTC (rev 239592)
@@ -264,8 +264,8 @@
         isSafari = WebCore::MacApplication::isSafari();
 #endif
         if (isSafari) {
-            parameters.httpProxy = [defaults stringForKey:(NSString *)WebKit2HTTPProxyDefaultsKey];
-            parameters.httpsProxy = [defaults stringForKey:(NSString *)WebKit2HTTPSProxyDefaultsKey];
+            parameters.defaultDataStoreParameters.networkSessionParameters.httpProxy = URL(URL(), [defaults stringForKey:(NSString *)WebKit2HTTPProxyDefaultsKey]);
+            parameters.defaultDataStoreParameters.networkSessionParameters.httpsProxy = URL(URL(), [defaults stringForKey:(NSString *)WebKit2HTTPSProxyDefaultsKey]);
         }
     }
 

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (239591 => 239592)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2019-01-03 16:03:06 UTC (rev 239591)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2019-01-03 16:51:44 UTC (rev 239592)
@@ -476,7 +476,7 @@
     NetworkProcessCreationParameters parameters;
 
     if (m_websiteDataStore) {
-        parameters.defaultSessionPendingCookies = copyToVector(m_websiteDataStore->websiteDataStore().pendingCookies());
+        parameters.defaultDataStoreParameters.pendingCookies = copyToVector(m_websiteDataStore->websiteDataStore().pendingCookies());
         m_websiteDataStore->websiteDataStore().clearPendingCookies();
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to