Diff
Modified: trunk/Source/WebKit2/ChangeLog (136463 => 136464)
--- trunk/Source/WebKit2/ChangeLog 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/ChangeLog 2012-12-04 02:22:49 UTC (rev 136464)
@@ -1,3 +1,30 @@
+2012-12-03 Anders Carlsson <[email protected]>
+
+ Make it easier to add more web process initialization parameters
+ https://bugs.webkit.org/show_bug.cgi?id=103942
+
+ Reviewed by Andreas Kling.
+
+ Add a WebProcessInitializationParameters struct to make it easier to add more initialization
+ parameters in the future. Also, fix naming and spelling errors.
+
+ * WebProcess/mac/WebProcessInitialization.h:
+ (WebProcessInitializationParameters):
+ (WebKit):
+ * WebProcess/mac/WebProcessInitialization.mm:
+ (WebKit::initializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/mac/WebProcessServiceEntryPoints.h:
+ * WebProcess/mac/WebProcessServiceEntryPoints.mm:
+ (WebKit::WebProcessServiceEventHandler):
+ (webProcessServiceMain):
+ (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
+ * WebProcessService/WebProcessServiceMain.mm:
+ (main):
+ * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
+ (WebProcessServiceForWebKitDevelopmentEventHandler):
+
2012-12-03 Tim Horton <[email protected]>
PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.h (136463 => 136464)
--- trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.h 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.h 2012-12-04 02:22:49 UTC (rev 136464)
@@ -27,11 +27,17 @@
#define WebProcessInitialization_h
#include "Connection.h"
+#include <wtf/text/WTFString.h>
namespace WebKit {
-void InitializeWebProcess(const String& clientIdentifier, CoreIPC::Connection::Identifier connectionIdentifier);
+struct WebProcessInitializationParameters {
+ String clientIdentifier;
+ CoreIPC::Connection::Identifier connectionIdentifier;
+};
+void initializeWebProcess(const WebProcessInitializationParameters&);
+
} // namespace WebKit
#endif // WebProcessInitialization_h
Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm (136463 => 136464)
--- trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm 2012-12-04 02:22:49 UTC (rev 136464)
@@ -37,22 +37,21 @@
namespace WebKit {
-void InitializeWebProcess(const String& clientIdentifier, CoreIPC::Connection::Identifier connectionIdentifier)
+void initializeWebProcess(const WebProcessInitializationParameters& parameters)
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ @autoreleasepool {
+ InitWebCoreSystemInterface();
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+ RunLoop::initializeMainRunLoop();
- InitWebCoreSystemInterface();
- JSC::initializeThreading();
- WTF::initializeMainThread();
- RunLoop::initializeMainRunLoop();
-
- WebProcess::shared().initializeShim();
- WebProcess::shared().initializeSandbox(clientIdentifier);
- WebProcess::shared().initialize(connectionIdentifier, RunLoop::main());
-
- WKAXRegisterRemoteApp();
-
- [pool drain];
+ WebProcess& webProcess = WebProcess::shared();
+ webProcess.initializeShim();
+ webProcess.initializeSandbox(parameters.clientIdentifier);
+ webProcess.initialize(parameters.connectionIdentifier, RunLoop::main());
+
+ WKAXRegisterRemoteApp();
+ }
}
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm (136463 => 136464)
--- trunk/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm 2012-12-04 02:22:49 UTC (rev 136464)
@@ -185,7 +185,10 @@
[[NSApplication sharedApplication] _installAutoreleasePoolsOnCurrentThreadIfNecessary];
#endif
- InitializeWebProcess(clientIdentifier, CoreIPC::Connection::Identifier(serverPort));
+ WebProcessInitializationParameters parameters;
+ parameters.clientIdentifier = clientIdentifier;
+ parameters.connectionIdentifier = serverPort;
+ initializeWebProcess(parameters);
RunLoop::run();
Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.h (136463 => 136464)
--- trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.h 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.h 2012-12-04 02:22:49 UTC (rev 136464)
@@ -36,12 +36,12 @@
// This entry point is used for the installed WebProcessService, which does not
// need to be re-execed, or mess around with DYLD.
-WK_EXPORT int WebProcessServiceMain(int argc, char** argv);
+WK_EXPORT int webProcessServiceMain(int argc, char** argv);
// This entry point is used for the WebProcessServiceForWebKitDevelopment
// which needs to be re-exec, and can't link directly to WebKit2 requiring
// some DYLD fiddling.
-WK_EXPORT void InitializeWebProcessForWebProcessServiceForWebKitDevelopment(const char* clientIdentifer, xpc_connection_t connection, mach_port_t serverPort);
+WK_EXPORT void initializeWebProcessForWebProcessServiceForWebKitDevelopment(const char* clientIdentifier, xpc_connection_t, mach_port_t serverPort);
#ifdef __cplusplus
}; // extern "C"
Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm (136463 => 136464)
--- trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm 2012-12-04 02:22:49 UTC (rev 136464)
@@ -60,7 +60,10 @@
xpc_connection_send_message(xpc_dictionary_get_remote_connection(event), reply);
xpc_release(reply);
- InitializeWebProcess(String(xpc_dictionary_get_string(event, "client-identifier")), CoreIPC::Connection::Identifier(xpc_dictionary_copy_mach_send(event, "server-port"), peer));
+ WebProcessInitializationParameters parameters;
+ parameters.clientIdentifier = xpc_dictionary_get_string(event, "client-identifier");
+ parameters.connectionIdentifier = xpc_dictionary_copy_mach_send(event, "server-port");
+ initializeWebProcess(parameters);
}
}
});
@@ -70,7 +73,7 @@
} // namespace WebKit
-int WebProcessServiceMain(int argc, char** argv)
+int webProcessServiceMain(int argc, char** argv)
{
// Remove the WebProcess shim from the DYLD_INSERT_LIBRARIES environment variable so any processes spawned by
// the WebProcess don't try to insert the shim and crash.
@@ -80,13 +83,16 @@
return 0;
}
-void InitializeWebProcessForWebProcessServiceForWebKitDevelopment(const char* clientIdentifer, xpc_connection_t connection, mach_port_t serverPort)
+void initializeWebProcessForWebProcessServiceForWebKitDevelopment(const char* clientIdentifier, xpc_connection_t connection, mach_port_t serverPort)
{
// Remove the WebProcess shim from the DYLD_INSERT_LIBRARIES environment variable so any processes spawned by
// the WebProcess don't try to insert the shim and crash.
WebKit::EnvironmentUtilities::stripValuesEndingWithString("DYLD_INSERT_LIBRARIES", "/WebProcessShim.dylib");
- WebKit::InitializeWebProcess(String(clientIdentifer), CoreIPC::Connection::Identifier(serverPort, connection));
+ WebKit::WebProcessInitializationParameters parameters;
+ parameters.clientIdentifier = clientIdentifier;
+ parameters.connectionIdentifier = CoreIPC::Connection::Identifier(serverPort, connection);
+ initializeWebProcess(parameters);
}
#endif // HAVE(XPC)
Modified: trunk/Source/WebKit2/WebProcessService/WebProcessServiceMain.mm (136463 => 136464)
--- trunk/Source/WebKit2/WebProcessService/WebProcessServiceMain.mm 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcessService/WebProcessServiceMain.mm 2012-12-04 02:22:49 UTC (rev 136464)
@@ -31,7 +31,7 @@
int main(int argc, char** argv)
{
- return WebProcessServiceMain(argc, argv);
+ return webProcessServiceMain(argc, argv);
}
#else
Modified: trunk/Source/WebKit2/WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm (136463 => 136464)
--- trunk/Source/WebKit2/WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm 2012-12-04 02:19:13 UTC (rev 136463)
+++ trunk/Source/WebKit2/WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm 2012-12-04 02:22:49 UTC (rev 136464)
@@ -124,7 +124,7 @@
}
typedef void (*InitializeWebProcessFunction)(const char* clientIdentifer, xpc_connection_t connection, mach_port_t serverPort);
- InitializeWebProcessFunction InitializeWebProcessFunctionPtr = reinterpret_cast<InitializeWebProcessFunction>(dlsym(frameworkLibrary, "InitializeWebProcessForWebProcessServiceForWebKitDevelopment"));
+ InitializeWebProcessFunction InitializeWebProcessFunctionPtr = reinterpret_cast<InitializeWebProcessFunction>(dlsym(frameworkLibrary, "initializeWebProcessForWebProcessServiceForWebKitDevelopment"));
if (!InitializeWebProcessFunctionPtr) {
NSLog(@"Unable to find entry point in WebKit2.framework: %s\n", dlerror());
exit(EXIT_FAILURE);