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());
}