diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp | 75 |
1 files changed, 6 insertions, 69 deletions
diff --git a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp index f20c19c5a..089c17c33 100644 --- a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp +++ b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp @@ -26,42 +26,32 @@ #include "config.h" #include "ProcessLauncher.h" -#include "WorkQueue.h" #include <wtf/StdLibExtras.h> +#include <wtf/WorkQueue.h> namespace WebKit { -static WorkQueue* processLauncherWorkQueue() -{ - static WorkQueue* processLauncherWorkQueue = WorkQueue::create("com.apple.WebKit.ProcessLauncher").leakRef(); - return processLauncherWorkQueue; -} - ProcessLauncher::ProcessLauncher(Client* client, const LaunchOptions& launchOptions) : m_client(client) + , m_weakPtrFactory(this) , m_launchOptions(launchOptions) , m_processIdentifier(0) { - // Launch the process. m_isLaunching = true; - processLauncherWorkQueue()->dispatch(bind(&ProcessLauncher::launchProcess, this)); + launchProcess(); } -void ProcessLauncher::didFinishLaunchingProcess(PlatformProcessIdentifier processIdentifier, IPC::Connection::Identifier identifier) +void ProcessLauncher::didFinishLaunchingProcess(pid_t processIdentifier, IPC::Connection::Identifier identifier) { m_processIdentifier = processIdentifier; m_isLaunching = false; if (!m_client) { // FIXME: Make Identifier a move-only object and release port rights/connections in the destructor. -#if PLATFORM(MAC) +#if OS(DARWIN) && !PLATFORM(GTK) + // FIXME: Should really be something like USE(MACH) if (identifier.port) mach_port_mod_refs(mach_task_self(), identifier.port, MACH_PORT_RIGHT_RECEIVE, -1); - - if (identifier.xpcConnection) { - xpc_release(identifier.xpcConnection); - identifier.xpcConnection = 0; - } #endif return; } @@ -75,57 +65,4 @@ void ProcessLauncher::invalidate() platformInvalidate(); } -const char* ProcessLauncher::processTypeAsString(ProcessType processType) -{ - switch (processType) { - case WebProcess: - return "webprocess"; -#if ENABLE(NETSCAPE_PLUGIN_API) - case PluginProcess: - return "pluginprocess"; -#endif -#if ENABLE(NETWORK_PROCESS) - case NetworkProcess: - return "networkprocess"; -#endif -#if ENABLE(DATABASE_PROCESS) - case DatabaseProcess: - return "databaseprocess"; -#endif - } - - ASSERT_NOT_REACHED(); - return 0; -} - -bool ProcessLauncher::getProcessTypeFromString(const char* string, ProcessType& processType) -{ - if (!strcmp(string, "webprocess")) { - processType = WebProcess; - return true; - } - -#if ENABLE(NETSCAPE_PLUGIN_API) - if (!strcmp(string, "pluginprocess")) { - processType = PluginProcess; - return true; - } -#endif - -#if ENABLE(NETWORK_PROCESS) - if (!strcmp(string, "networkprocess")) { - processType = NetworkProcess; - return true; - } -#endif - -#if ENABLE(DATABASE_PROCESS) - if (!strcmp(string, "databaseprocess")) { - processType = DatabaseProcess; - return true; - } -#endif - return false; -} - } // namespace WebKit |