diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 00:51:02 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 00:51:02 +0000 |
commit | 961306dca553f6e7b5262e384317a73351a77985 (patch) | |
tree | dbba7e1e9d1774eaf03c5254bbeb71a42c914fda /chrome/browser/renderer_host | |
parent | d04d10a3b93b428d5e4fe636be4ab6ffd94424d9 (diff) | |
download | chromium_src-961306dca553f6e7b5262e384317a73351a77985.zip chromium_src-961306dca553f6e7b5262e384317a73351a77985.tar.gz chromium_src-961306dca553f6e7b5262e384317a73351a77985.tar.bz2 |
Back out r22981, it may have caused Windows test failures.
Review URL: http://codereview.chromium.org/164298
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22992 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r-- | chrome/browser/renderer_host/browser_render_process_host.cc | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc index 07b7c7e..0fc5e05 100644 --- a/chrome/browser/renderer_host/browser_render_process_host.cc +++ b/chrome/browser/renderer_host/browser_render_process_host.cc @@ -47,7 +47,6 @@ #include "chrome/browser/visitedlink_master.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/child_process_info.h" -#include "chrome/common/child_process_host.h" #include "chrome/common/chrome_descriptors.h" #include "chrome/common/logging_chrome.h" #include "chrome/common/notification_service.h" @@ -202,6 +201,16 @@ class VisitedLinkUpdater { VisitedLinkCommon::Fingerprints pending_; }; + +// Used for a View_ID where the renderer has not been attached yet +const int32 kInvalidViewID = -1; + +// Get the path to the renderer executable, which is the same as the +// current executable. +bool GetRendererPath(std::wstring* cmd_line) { + return PathService::Get(base::FILE_EXE, cmd_line); +} + BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile) : RenderProcessHost(profile), visible_widgets_(0), @@ -298,12 +307,15 @@ bool BrowserRenderProcessHost::Init() { // Build command line for renderer, we have to quote the executable name to // deal with spaces. - std::wstring renderer_path = ChildProcessHost::GetChildPath(); + std::wstring renderer_path = + browser_command_line.GetSwitchValue(switches::kBrowserSubprocessPath); if (renderer_path.empty()) { - // Need to reset the channel we created above or others might think the - // connection is live. - channel_.reset(); - return false; + if (!GetRendererPath(&renderer_path)) { + // Need to reset the channel we created above or others might think the + // connection is live. + channel_.reset(); + return false; + } } CommandLine cmd_line(renderer_path); if (logging::DialogsAreSuppressed()) |