Title: [161272] trunk/Source/WebKit2
Revision
161272
Author
[email protected]
Date
2014-01-03 11:13:38 -0800 (Fri, 03 Jan 2014)

Log Message

Define WebProcess::usesNetworkProcess unconditionally
https://bugs.webkit.org/show_bug.cgi?id=126208

Reviewed by Martin Robinson.

Returning false when network process is not enabled like
WebContext does. This way we reduce the amount of ifdefs used when
checking whether network process is in use.

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
and only setup network features when not using network process.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadManager):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::usesNetworkProcess):
* WebProcess/WebProcess.h:
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel): Ditto.
(WebKit::WebProcess::platformClearResourceCaches): Ditto.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
(WebKit::WebProcess::platformTerminate): Only remove the language
observer when not using network process.
(WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
called with network process enabled.
(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (161271 => 161272)


--- trunk/Source/WebKit2/ChangeLog	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/ChangeLog	2014-01-03 19:13:38 UTC (rev 161272)
@@ -1,3 +1,37 @@
+2014-01-03  Carlos Garcia Campos  <[email protected]>
+
+        Define WebProcess::usesNetworkProcess unconditionally
+        https://bugs.webkit.org/show_bug.cgi?id=126208
+
+        Reviewed by Martin Robinson.
+
+        Returning false when network process is not enabled like
+        WebContext does. This way we reduce the amount of ifdefs used when
+        checking whether network process is in use.
+
+        * UIProcess/gtk/WebContextGtk.cpp:
+        (WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
+        and only setup network features when not using network process.
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::downloadManager):
+        (WebKit::WebProcess::shouldTerminate):
+        (WebKit::WebProcess::usesNetworkProcess):
+        * WebProcess/WebProcess.h:
+        * WebProcess/mac/WebProcessMac.mm:
+        (WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
+        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
+        * WebProcess/soup/WebProcessSoup.cpp:
+        (WebKit::WebProcess::platformSetCacheModel): Ditto.
+        (WebKit::WebProcess::platformClearResourceCaches): Ditto.
+        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
+        (WebKit::WebProcess::platformTerminate): Only remove the language
+        observer when not using network process.
+        (WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
+        called with network process enabled.
+        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.
+
 2014-01-03  Jinwoo Song  <[email protected]>
 
         VibrationPattern should allocate an single vector instance for single integer input

Modified: trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (161271 => 161272)


--- trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2014-01-03 19:13:38 UTC (rev 161272)
@@ -98,13 +98,16 @@
         parameters.urlSchemesRegisteredAsLocal.append("resource");
     }
 
-    parameters.urlSchemesRegistered = supplement<WebSoupRequestManagerProxy>()->registeredURISchemes();
-    supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
-    parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
+    if (!usesNetworkProcess()) {
+        parameters.urlSchemesRegistered = supplement<WebSoupRequestManagerProxy>()->registeredURISchemes();
+
+        supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
+        parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
+
+        parameters.ignoreTLSErrors = m_ignoreTLSErrors;
+    }
+
     parameters.shouldTrackVisitedLinks = true;
-#if !ENABLE(NETWORK_PROCESS)
-    parameters.ignoreTLSErrors = m_ignoreTLSErrors;
-#endif
 }
 
 void WebContext::platformInvalidateContext()

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (161271 => 161272)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2014-01-03 19:13:38 UTC (rev 161272)
@@ -321,11 +321,7 @@
 bool WebPlatformStrategies::isAvailable() const
 {
     // Shared workers do not work across multiple processes, and using network process is tied to multiple secondary process model. 
-#if ENABLE(NETWORK_PROCESS) 
-    return !WebProcess::shared().usesNetworkProcess(); 
-#else 
-    return true; 
-#endif
+    return !WebProcess::shared().usesNetworkProcess();
 }
 
 #if ENABLE(NETSCAPE_PLUGIN_API)

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (161271 => 161272)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2014-01-03 19:13:38 UTC (rev 161272)
@@ -468,9 +468,7 @@
 
 DownloadManager& WebProcess::downloadManager()
 {
-#if ENABLE(NETWORK_PROCESS)
-    ASSERT(!m_usesNetworkProcess);
-#endif
+    ASSERT(!usesNetworkProcess());
 
     static NeverDestroyed<DownloadManager> downloadManager(this);
     return downloadManager;
@@ -597,13 +595,8 @@
 bool WebProcess::shouldTerminate()
 {
     ASSERT(m_pageMap.isEmpty());
+    ASSERT(usesNetworkProcess() || !downloadManager().isDownloading());
 
-#if ENABLE(NETWORK_PROCESS)
-    ASSERT(m_usesNetworkProcess || !downloadManager().isDownloading());
-#else
-    ASSERT(!downloadManager().isDownloading());
-#endif
-
     // FIXME: the ShouldTerminate message should also send termination parameters, such as any session cookies that need to be preserved.
     bool shouldTerminate = false;
     if (parentProcessConnection()->sendSync(Messages::WebProcessProxy::ShouldTerminate(), Messages::WebProcessProxy::ShouldTerminate::Reply(shouldTerminate), 0)
@@ -993,7 +986,16 @@
     injectedBundle->didReceiveMessage(messageName, messageBody.get());
 }
 
+bool WebProcess::usesNetworkProcess() const
+{
 #if ENABLE(NETWORK_PROCESS)
+    return m_usesNetworkProcess;
+#else
+    return false;
+#endif
+}
+
+#if ENABLE(NETWORK_PROCESS)
 NetworkProcessConnection* WebProcess::networkConnection()
 {
     ASSERT(m_usesNetworkProcess);

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (161271 => 161272)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2014-01-03 19:13:38 UTC (rev 161272)
@@ -152,10 +152,11 @@
 
     EventDispatcher& eventDispatcher() { return *m_eventDispatcher; }
 
+    bool usesNetworkProcess() const;
+
 #if ENABLE(NETWORK_PROCESS)
     NetworkProcessConnection* networkConnection();
     void networkProcessConnectionClosed(NetworkProcessConnection*);
-    bool usesNetworkProcess() const { return m_usesNetworkProcess; }
     WebResourceLoadScheduler& webResourceLoadScheduler();
 #endif
 

Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm (161271 => 161272)


--- trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2014-01-03 19:13:38 UTC (rev 161272)
@@ -112,15 +112,13 @@
 
     NSURLCache *nsurlCache = [NSURLCache sharedURLCache];
 
-#if ENABLE(NETWORK_PROCESS)
     // FIXME: Once there is no loading being done in the WebProcess, we should remove this,
     // as calling [NSURLCache sharedURLCache] initializes the cache, which we would rather not do.
-    if (m_usesNetworkProcess) {
+    if (usesNetworkProcess()) {
         [nsurlCache setMemoryCapacity:0];
         [nsurlCache setDiskCapacity:0];
         return;
     }
-#endif
 
     [nsurlCache setMemoryCapacity:urlCacheMemoryCapacity];
     [nsurlCache setDiskCapacity:std::max<unsigned long>(urlCacheDiskCapacity, [nsurlCache diskCapacity])]; // Don't shrink a big disk cache, since that would cause churn.
@@ -162,18 +160,14 @@
 
     // When the network process is enabled, each web process wants a stand-alone
     // NSURLCache, which it can disable to save memory.
-#if ENABLE(NETWORK_PROCESS)
-    if (!m_usesNetworkProcess) {
-#endif
+    if (!usesNetworkProcess()) {
         if (!parameters.diskCacheDirectory.isNull()) {
             [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc]
                 initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity
                 diskCapacity:parameters.nsURLCacheDiskCapacity
                 diskPath:parameters.diskCacheDirectory]).get()];
         }
-#if ENABLE(NETWORK_PROCESS)
     }
-#endif
 
     m_shouldForceScreenFontSubstitution = parameters.shouldForceScreenFontSubstitution;
     Font::setDefaultTypesettingFeatures(parameters.shouldEnableKerningAndLigaturesByDefault ? Kerning | Ligatures : 0);

Modified: trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp (161271 => 161272)


--- trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2014-01-03 19:06:16 UTC (rev 161271)
+++ trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2014-01-03 19:13:38 UTC (rev 161272)
@@ -93,15 +93,11 @@
     uint64_t diskFreeSize = 0;
     SoupCache* cache = nullptr;
 
-#if ENABLE(NETWORK_PROCESS)
-    if (!m_usesNetworkProcess) {
-#endif
-        SoupSession* session = WebCore::ResourceHandle::defaultSession();
-        cache = SOUP_CACHE(soup_session_get_feature(session, SOUP_TYPE_CACHE));
+    if (!usesNetworkProcess()) {
+        cache = SOUP_CACHE(soup_session_get_feature(WebCore::ResourceHandle::defaultSession(), SOUP_TYPE_CACHE));
         diskFreeSize = getCacheDiskFreeSize(cache) / 1024 / 1024;
-#if ENABLE(NETWORK_PROCESS)
     }
-#endif
+
     uint64_t memSize = getMemorySize();
     calculateCacheSizes(cacheModel, memSize, diskFreeSize,
                         cacheTotalCapacity, cacheMinDeadCapacity, cacheMaxDeadCapacity, deadDecodedDataDeletionInterval,
@@ -111,16 +107,10 @@
     WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
     WebCore::pageCache()->setCapacity(pageCacheCapacity);
 
-#if ENABLE(NETWORK_PROCESS)
-    if (!m_usesNetworkProcess) {
-#endif
+    if (!usesNetworkProcess()) {
         if (urlCacheDiskCapacity > soup_cache_get_max_size(cache))
             soup_cache_set_max_size(cache, urlCacheDiskCapacity);
-#if ENABLE(NETWORK_PROCESS)
     }
-#endif
-    if (urlCacheDiskCapacity > soup_cache_get_max_size(cache))
-        soup_cache_set_max_size(cache, urlCacheDiskCapacity);
 }
 
 void WebProcess::platformClearResourceCaches(ResourceCachesToClear cachesToClear)
@@ -129,12 +119,10 @@
         return;
 
     // If we're using the network process then it is the only one that needs to clear the disk cache.
-#if ENABLE(NETWORK_PROCESS)
-    if (m_usesNetworkProcess)
+    if (usesNetworkProcess())
         return;
-#endif
-    SoupSession* session = WebCore::ResourceHandle::defaultSession();
-    soup_cache_clear(SOUP_CACHE(soup_session_get_feature(session, SOUP_TYPE_CACHE)));
+
+    soup_cache_clear(SOUP_CACHE(soup_session_get_feature(WebCore::ResourceHandle::defaultSession(), SOUP_TYPE_CACHE)));
 }
 
 // This function is based on Epiphany code in ephy-embed-prefs.c.
@@ -198,22 +186,20 @@
     }
 #endif
 
-#if ENABLE(NETWORK_PROCESS)
-    if (!m_usesNetworkProcess) {
-#endif
-        ASSERT(!parameters.diskCacheDirectory.isEmpty());
-        GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(parameters.diskCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER));
-        soup_session_add_feature(WebCore::ResourceHandle::defaultSession(), SOUP_SESSION_FEATURE(soupCache.get()));
-        soup_cache_load(soupCache.get());
+    if (usesNetworkProcess())
+        return;
 
-        if (!parameters.cookiePersistentStoragePath.isEmpty()) {
-            supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
-                parameters.cookiePersistentStorageType);
-        }
-        supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy);
-#if ENABLE(NETWORK_PROCESS)
+    ASSERT(!parameters.diskCacheDirectory.isEmpty());
+    GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(parameters.diskCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER));
+    soup_session_add_feature(WebCore::ResourceHandle::defaultSession(), SOUP_SESSION_FEATURE(soupCache.get()));
+    soup_cache_load(soupCache.get());
+
+    if (!parameters.cookiePersistentStoragePath.isEmpty()) {
+        supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
+            parameters.cookiePersistentStorageType);
     }
-#endif
+    supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy);
+
     if (!parameters.languages.isEmpty())
         setSoupSessionAcceptLanguage(parameters.languages);
 
@@ -227,16 +213,19 @@
 
 void WebProcess::platformTerminate()
 {
-    WebCore::removeLanguageChangeObserver(this);
+    if (!usesNetworkProcess())
+        WebCore::removeLanguageChangeObserver(this);
 }
 
 void WebProcess::setIgnoreTLSErrors(bool ignoreTLSErrors)
 {
+    ASSERT(!usesNetworkProcess());
     WebCore::ResourceHandle::setIgnoreSSLErrors(ignoreTLSErrors);
 }
 
 void WebProcess::allowSpecificHTTPSCertificateForHost(const WebCore::CertificateInfo& certificateInfo, const String& host)
 {
+    ASSERT(!usesNetworkProcess());
     WebCore::ResourceHandle::setClientCertificate(host, certificateInfo.certificate());
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to