| Index: chrome/common/child_process_host.cc
|
| ===================================================================
|
| --- chrome/common/child_process_host.cc (revision 22989)
|
| +++ chrome/common/child_process_host.cc (working copy)
|
| @@ -4,17 +4,13 @@
|
|
|
| #include "chrome/common/child_process_host.h"
|
|
|
| -#include "base/command_line.h"
|
| #include "base/compiler_specific.h"
|
| -#include "base/file_path.h"
|
| #include "base/logging.h"
|
| #include "base/message_loop.h"
|
| -#include "base/path_service.h"
|
| #include "base/process_util.h"
|
| #include "base/singleton.h"
|
| #include "base/waitable_event.h"
|
| #include "chrome/browser/chrome_thread.h"
|
| -#include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/notification_service.h"
|
| #include "chrome/common/notification_type.h"
|
| #include "chrome/common/plugin_messages.h"
|
| @@ -69,67 +65,6 @@
|
| ProcessWatcher::EnsureProcessTerminated(handle());
|
| }
|
|
|
| -// static
|
| -std::wstring ChildProcessHost::GetChildPath() {
|
| - std::wstring child_path = CommandLine::ForCurrentProcess()->GetSwitchValue(
|
| - switches::kBrowserSubprocessPath);
|
| - if (!child_path.empty())
|
| - return child_path;
|
| -
|
| -#if !defined(OS_MACOSX)
|
| - // On most platforms, the child executable is the same as the current
|
| - // executable.
|
| - PathService::Get(base::FILE_EXE, &child_path);
|
| - return child_path;
|
| -#else
|
| - // On the Mac, the child executable lives at a predefined location within
|
| - // the current app bundle.
|
| -
|
| - FilePath path;
|
| - if (!PathService::Get(base::FILE_EXE, &path))
|
| - return child_path;
|
| -
|
| - // Figure out the current executable name. In a browser, this will be
|
| - // "Chromium" or "Google Chrome". The child name will be the browser
|
| - // executable name with " Helper" appended. The child app bundle name will
|
| - // be that name with ".app" appended.
|
| - FilePath::StringType child_exe_name = path.BaseName().value();
|
| - const FilePath::StringType child_suffix = FILE_PATH_LITERAL(" Helper");
|
| -
|
| - if (child_exe_name.size() > child_suffix.size()) {
|
| - size_t test_suffix_pos = child_exe_name.size() - child_suffix.size();
|
| - const FilePath::CharType* test_suffix =
|
| - child_exe_name.c_str() + test_suffix_pos;
|
| - if (strcmp(test_suffix, child_suffix.c_str()) == 0) {
|
| - // FILE_EXE already ends with the child suffix and therefore already
|
| - // refers to the child process path. Just return it.
|
| - return path.ToWStringHack();
|
| - }
|
| - }
|
| -
|
| - child_exe_name.append(child_suffix);
|
| - FilePath::StringType child_app_name = child_exe_name;
|
| - child_app_name.append(FILE_PATH_LITERAL(".app"));
|
| - // The renderer app bundle lives in the browser app bundle's Resources
|
| - // directory. Take off the executable name.
|
| - path = path.DirName();
|
| -
|
| - // Take off the MacOS component, after verifying that's what's there.
|
| - FilePath::StringType macos = path.BaseName().value();
|
| - DCHECK_EQ(macos, FILE_PATH_LITERAL("MacOS"));
|
| - path = path.DirName();
|
| -
|
| - // Append the components to get to the sub-app bundle's executable.
|
| - path = path.Append(FILE_PATH_LITERAL("Resources"));
|
| - path = path.Append(child_app_name);
|
| - path = path.Append(FILE_PATH_LITERAL("Contents"));
|
| - path = path.Append(FILE_PATH_LITERAL("MacOS"));
|
| - path = path.Append(child_exe_name);
|
| -
|
| - return path.ToWStringHack();
|
| -#endif // OS_MACOSX
|
| -}
|
| -
|
| bool ChildProcessHost::CreateChannel() {
|
| channel_id_ = GenerateRandomChannelID(this);
|
| channel_.reset(new IPC::Channel(
|
|
|