[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
weinig at apple.com
weinig at apple.com
Wed Dec 22 18:44:28 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit aad0fb0d0ea076fdf32dae87033a0db68feb6d8f
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 17 00:29:49 2010 +0000
Move NSURLCache initialization from the ProcessLauncherMac to the centralized
WebContext initialize WebProcess mechanism.
Reviewed by Anders Carlsson.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::setShouldPaintNativeControls):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 96fb7c9..debe6e7 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,29 @@
+2010-12-16 Sam Weinig <sam at webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move NSURLCache initialization from the ProcessLauncherMac to the centralized
+ WebContext initialize WebProcess mechanism.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::setShouldPaintNativeControls):
+
2010-12-16 Anders Carlsson <andersca at apple.com>
Reviewed by Dan Bernstein.
diff --git a/WebKit2/Shared/WebProcessCreationParameters.cpp b/WebKit2/Shared/WebProcessCreationParameters.cpp
index 8b20d5b..37ce98c 100644
--- a/WebKit2/Shared/WebProcessCreationParameters.cpp
+++ b/WebKit2/Shared/WebProcessCreationParameters.cpp
@@ -31,7 +31,10 @@ namespace WebKit {
WebProcessCreationParameters::WebProcessCreationParameters()
: shouldTrackVisitedLinks(false)
-#if PLATFORM(WIN)
+#if PLATFORM(MAC)
+ , nsURLCacheMemoryCapacity(0)
+ , nsURLCacheDiskCapacity(0)
+#elif PLATFORM(WIN)
, shouldPaintNativeControls(false)
#endif
{
@@ -41,17 +44,18 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
{
encoder->encode(injectedBundlePath);
encoder->encode(injectedBundlePathExtensionHandle);
-
encoder->encode(applicationCacheDirectory);
encoder->encode(urlSchemesRegistererdAsEmptyDocument);
encoder->encode(urlSchemesRegisteredAsSecure);
encoder->encode(urlSchemesForWhichDomainRelaxationIsForbidden);
encoder->encode(mimeTypesWithCustomRepresentation);
- encoder->encode(static_cast<uint32_t>(cacheModel));
+ encoder->encodeEnum(cacheModel);
encoder->encode(shouldTrackVisitedLinks);
encoder->encode(languageCode);
-
#if PLATFORM(MAC)
+ encoder->encode(nsURLCachePath);
+ encoder->encode(nsURLCacheMemoryCapacity);
+ encoder->encode(nsURLCacheDiskCapacity);
encoder->encode(acceleratedCompositingPort);
#elif PLATFORM(WIN)
encoder->encode(shouldPaintNativeControls);
@@ -64,7 +68,6 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.injectedBundlePathExtensionHandle))
return false;
-
if (!decoder->decode(parameters.applicationCacheDirectory))
return false;
if (!decoder->decode(parameters.urlSchemesRegistererdAsEmptyDocument))
@@ -75,18 +78,19 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.mimeTypesWithCustomRepresentation))
return false;
-
- uint32_t cacheModel;
- if (!decoder->decode(cacheModel))
+ if (!decoder->decodeEnum(parameters.cacheModel))
return false;
- parameters.cacheModel = static_cast<CacheModel>(cacheModel);
-
if (!decoder->decode(parameters.shouldTrackVisitedLinks))
return false;
if (!decoder->decode(parameters.languageCode))
return false;
-
#if PLATFORM(MAC)
+ if (!decoder->decode(parameters.nsURLCachePath))
+ return false;
+ if (!decoder->decode(parameters.nsURLCacheMemoryCapacity))
+ return false;
+ if (!decoder->decode(parameters.nsURLCacheDiskCapacity))
+ return false;
if (!decoder->decode(parameters.acceleratedCompositingPort))
return false;
#elif PLATFORM(WIN)
diff --git a/WebKit2/Shared/WebProcessCreationParameters.h b/WebKit2/Shared/WebProcessCreationParameters.h
index f490f9f..0148c57 100644
--- a/WebKit2/Shared/WebProcessCreationParameters.h
+++ b/WebKit2/Shared/WebProcessCreationParameters.h
@@ -68,6 +68,9 @@ struct WebProcessCreationParameters {
String languageCode;
#if PLATFORM(MAC)
+ String nsURLCachePath;
+ uint64_t nsURLCacheMemoryCapacity;
+ uint64_t nsURLCacheDiskCapacity;
CoreIPC::MachPort acceleratedCompositingPort;
#elif PLATFORM(WIN)
bool shouldPaintNativeControls;
diff --git a/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm b/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
index e05f8e3..c285bae 100644
--- a/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
+++ b/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
@@ -225,17 +225,8 @@ void ProcessLauncher::launchProcess()
// Make a unique, per pid, per process launcher web process service name.
CString serviceName = String::format("com.apple.WebKit.WebProcess-%d-%p", getpid(), this).utf8();
- RetainPtr<CFStringRef> cachePath(AdoptCF, WKCopyFoundationCacheDirectory());
- if (!cachePath)
- cachePath = reinterpret_cast<CFStringRef>(NSHomeDirectory());
-
- NSURLCache *urlCache = [NSURLCache sharedURLCache];
- CString cacheMemoryCapacity = String::number([urlCache memoryCapacity]).utf8();
- CString cacheDiskCapacity = String::number([urlCache diskCapacity]).utf8();
-
const char* path = [webProcessAppExecutablePath fileSystemRepresentation];
- const char* args[] = { path, bundlePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), "-parentprocessname", processName(),
- "-cachepath", [(NSString *)cachePath.get() UTF8String], "-cachememorycapacity", cacheMemoryCapacity.data(), "-cachediskcapacity", cacheDiskCapacity.data(), 0 };
+ const char* args[] = { path, bundlePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), "-parentprocessname", processName(), 0 };
// Register ourselves.
kern_return_t kr = bootstrap_register2(bootstrap_port, const_cast<char*>(serviceName.data()), listeningPort, 0);
diff --git a/WebKit2/UIProcess/mac/WebContextMac.mm b/WebKit2/UIProcess/mac/WebContextMac.mm
index f04fa5f..d44a62b 100644
--- a/WebKit2/UIProcess/mac/WebContextMac.mm
+++ b/WebKit2/UIProcess/mac/WebContextMac.mm
@@ -68,6 +68,15 @@ void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& para
HashSet<String, CaseFoldingHash> mimeType = pdfAndPostScriptMIMETypes();
parameters.mimeTypesWithCustomRepresentation.appendRange(mimeType.begin(), mimeType.end());
+ RetainPtr<CFStringRef> cachePath(AdoptCF, WKCopyFoundationCacheDirectory());
+ if (!cachePath)
+ cachePath = reinterpret_cast<CFStringRef>(NSHomeDirectory());
+
+ NSURLCache *urlCache = [NSURLCache sharedURLCache];
+ parameters.nsURLCachePath = cachePath.get();
+ parameters.nsURLCacheMemoryCapacity = [urlCache memoryCapacity];
+ parameters.nsURLCacheDiskCapacity = [urlCache diskCapacity];
+
#if USE(ACCELERATED_COMPOSITING) && HAVE(HOSTED_CORE_ANIMATION)
mach_port_t renderServerPort = WKInitializeRenderServer();
if (renderServerPort != MACH_PORT_NULL)
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index c1a8137..7a7376e 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -132,6 +132,8 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
{
ASSERT(m_pageMap.isEmpty());
+ platformInitializeWebProcess(parameters, arguments);
+
RefPtr<APIObject> injectedBundleInitializationUserData;
InjectedBundleUserMessageDecoder messageDecoder(injectedBundleInitializationUserData);
if (!arguments->decode(messageDecoder))
@@ -174,15 +176,6 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
clearResourceCaches();
if (parameters.clearApplicationCache)
clearApplicationCache();
-
-#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
- m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
-#endif
-#if PLATFORM(WIN)
- setShouldPaintNativeControls(parameters.shouldPaintNativeControls);
-#endif
-
- platformInitializeWebProcess(parameters, arguments);
}
void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)
@@ -402,15 +395,6 @@ void WebProcess::calculateCacheSizes(CacheModel cacheModel, uint64_t memorySize,
};
}
-#if PLATFORM(WIN)
-void WebProcess::setShouldPaintNativeControls(bool shouldPaintNativeControls)
-{
-#if USE(SAFARI_THEME)
- Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
-#endif
-}
-#endif
-
WebPage* WebProcess::webPage(uint64_t pageID) const
{
return m_pageMap.get(pageID).get();
diff --git a/WebKit2/WebProcess/mac/WebProcessMac.mm b/WebKit2/WebProcess/mac/WebProcessMac.mm
index 0cabeb2..ff0e75e 100644
--- a/WebKit2/WebProcess/mac/WebProcessMac.mm
+++ b/WebKit2/WebProcess/mac/WebProcessMac.mm
@@ -25,6 +25,7 @@
#include "WebProcess.h"
+#include "WebProcessCreationParameters.h"
#include <WebCore/MemoryCache.h>
#include <WebCore/PageCache.h>
#include <WebKitSystemInterface.h>
@@ -101,8 +102,20 @@ void WebProcess::platformClearResourceCaches()
[[NSURLCache sharedURLCache] removeAllCachedResponses];
}
-void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*)
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder*)
{
+ if (!parameters.nsURLCachePath.isNull()) {
+ NSUInteger cacheMemoryCapacity = parameters.nsURLCacheMemoryCapacity;
+ NSUInteger cacheDiskCapacity = parameters.nsURLCacheDiskCapacity;
+
+ CString utf8CachePath = parameters.nsURLCachePath.utf8();
+ NSString *nsCachePath = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:utf8CachePath.data() length:utf8CachePath.length()];
+
+ RetainPtr<NSURLCache> parentProcessURLCache(AdoptNS, [[NSURLCache alloc] initWithMemoryCapacity:cacheMemoryCapacity diskCapacity:cacheDiskCapacity diskPath:nsCachePath]);
+ [NSURLCache setSharedURLCache:parentProcessURLCache.get()];
+ }
+
+ m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
}
void WebProcess::platformShutdown()
diff --git a/WebKit2/WebProcess/mac/WebProcessMainMac.mm b/WebKit2/WebProcess/mac/WebProcessMainMac.mm
index e71d364..2f455f4 100644
--- a/WebKit2/WebProcess/mac/WebProcessMainMac.mm
+++ b/WebKit2/WebProcess/mac/WebProcessMainMac.mm
@@ -125,18 +125,6 @@ int WebProcessMain(const CommandLine& commandLine)
WKSetVisibleApplicationName((CFStringRef)applicationName);
}
- String cachePath = commandLine["cachepath"];
- if (!cachePath.isNull()) {
- NSUInteger cacheMemoryCapacity = commandLine["cachememorycapacity"].toUInt();
- NSUInteger cacheDiskCapacity = commandLine["cachediskcapacity"].toUInt();
-
- CString utf8CachePath = cachePath.utf8();
- NSString *nsCachePath = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:utf8CachePath.data() length:utf8CachePath.length()];
-
- RetainPtr<NSURLCache> parentProcessURLCache(AdoptNS, [[NSURLCache alloc] initWithMemoryCapacity:cacheMemoryCapacity diskCapacity:cacheDiskCapacity diskPath:nsCachePath]);
- [NSURLCache setSharedURLCache:parentProcessURLCache.get()];
- }
-
// Create the connection.
WebProcess::shared().initialize(serverPort, RunLoop::main());
diff --git a/WebKit2/WebProcess/win/WebProcessWin.cpp b/WebKit2/WebProcess/win/WebProcessWin.cpp
index e3ac8d4..780af0b 100644
--- a/WebKit2/WebProcess/win/WebProcessWin.cpp
+++ b/WebKit2/WebProcess/win/WebProcessWin.cpp
@@ -25,9 +25,11 @@
#include "WebProcess.h"
-#include <WebCore/MemoryCache.h>
+#include "WebProcessCreationParameters.h"
#include <WebCore/FileSystem.h>
+#include <WebCore/MemoryCache.h>
#include <WebCore/PageCache.h>
+#include <WebCore/Settings.h>
#include <wtf/text/WTFString.h>
#if USE(CFNETWORK)
@@ -102,12 +104,20 @@ void WebProcess::platformClearResourceCaches()
#endif
}
-void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*)
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder*)
{
+ setShouldPaintNativeControls(parameters.shouldPaintNativeControls);
}
void WebProcess::platformShutdown()
{
}
+void WebProcess::setShouldPaintNativeControls(bool shouldPaintNativeControls)
+{
+#if USE(SAFARI_THEME)
+ Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
+#endif
+}
+
} // namespace WebKit
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list