Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: chrome/browser/renderer_host/browser_render_process_host.cc

Issue 43035: Get rid of --start-renderers-manually since it's been broken for a long time ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/renderer_host/browser_render_process_host.h ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/renderer_host/browser_render_process_host.cc
===================================================================
--- chrome/browser/renderer_host/browser_render_process_host.cc (revision 11366)
+++ chrome/browser/renderer_host/browser_render_process_host.cc (working copy)
@@ -121,11 +121,6 @@
const wchar_t* const kDesktopName = L"ChromeRendererDesktop";
-// static
-void BrowserRenderProcessHost::RegisterPrefs(PrefService* prefs) {
- prefs->RegisterBooleanPref(prefs::kStartRenderersManually, false);
-}
-
BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile)
: RenderProcessHost(profile),
visible_widgets_(0),
@@ -178,27 +173,6 @@
ClearTransportDIBCache();
}
-// When we're started with the --start-renderers-manually flag, we pop up a
-// modal dialog requesting the user manually start up a renderer.
-// |cmd_line| is the command line to start the renderer with.
-static void RunStartRenderersManuallyDialog(const CommandLine& cmd_line) {
-#if defined(OS_WIN)
- std::wstring message =
- L"Please start a renderer process using:\n" +
- cmd_line.command_line_string();
-
- // We don't know the owner window for RenderProcessHost and therefore we
- // pass a NULL HWND argument.
- win_util::MessageBox(NULL,
- message,
- switches::kBrowserStartRenderersManually,
- MB_OK);
-#else
- // TODO(port): refactor above code / pop up a message box here.
- NOTIMPLEMENTED();
-#endif
-}
-
bool BrowserRenderProcessHost::Init() {
// calling Init() more than once does nothing, this makes it more convenient
// for the view host which may not be sure in some cases
@@ -349,92 +323,86 @@
options.message_loop_type = MessageLoop::TYPE_IO;
in_process_renderer_->StartWithOptions(options);
} else {
- if (g_browser_process->local_state() &&
- g_browser_process->local_state()->GetBoolean(
- prefs::kStartRenderersManually)) {
- RunStartRenderersManuallyDialog(cmd_line);
- } else {
#if defined(OS_WIN)
- if (in_sandbox) {
- // spawn the child process in the sandbox
- sandbox::BrokerServices* broker_service =
- g_browser_process->broker_services();
+ if (in_sandbox) {
+ // spawn the child process in the sandbox
+ sandbox::BrokerServices* broker_service =
+ g_browser_process->broker_services();
- sandbox::ResultCode result;
- PROCESS_INFORMATION target = {0};
- sandbox::TargetPolicy* policy = broker_service->CreatePolicy();
- policy->SetJobLevel(sandbox::JOB_LOCKDOWN, 0);
+ sandbox::ResultCode result;
+ PROCESS_INFORMATION target = {0};
+ sandbox::TargetPolicy* policy = broker_service->CreatePolicy();
+ policy->SetJobLevel(sandbox::JOB_LOCKDOWN, 0);
- sandbox::TokenLevel initial_token = sandbox::USER_UNPROTECTED;
- if (win_util::GetWinVersion() > win_util::WINVERSION_XP) {
- // On 2003/Vista the initial token has to be restricted if the main
- // token is restricted.
- initial_token = sandbox::USER_RESTRICTED_SAME_ACCESS;
- }
+ sandbox::TokenLevel initial_token = sandbox::USER_UNPROTECTED;
+ if (win_util::GetWinVersion() > win_util::WINVERSION_XP) {
+ // On 2003/Vista the initial token has to be restricted if the main
+ // token is restricted.
+ initial_token = sandbox::USER_RESTRICTED_SAME_ACCESS;
+ }
- policy->SetTokenLevel(initial_token, sandbox::USER_LOCKDOWN);
- policy->SetDelayedIntegrityLevel(sandbox::INTEGRITY_LEVEL_LOW);
+ policy->SetTokenLevel(initial_token, sandbox::USER_LOCKDOWN);
+ policy->SetDelayedIntegrityLevel(sandbox::INTEGRITY_LEVEL_LOW);
- HDESK desktop = CreateDesktop(kDesktopName, NULL, NULL, 0,
- DESKTOP_CREATEWINDOW, NULL);
- if (desktop) {
- policy->SetDesktop(kDesktopName);
- } else {
- DLOG(WARNING) << "Failed to apply desktop security to the renderer";
- }
+ HDESK desktop = CreateDesktop(kDesktopName, NULL, NULL, 0,
+ DESKTOP_CREATEWINDOW, NULL);
+ if (desktop) {
+ policy->SetDesktop(kDesktopName);
+ } else {
+ DLOG(WARNING) << "Failed to apply desktop security to the renderer";
+ }
- if (!AddGenericPolicy(policy)) {
- NOTREACHED();
- return false;
- }
+ if (!AddGenericPolicy(policy)) {
+ NOTREACHED();
+ return false;
+ }
- if (browser_command_line.HasSwitch(switches::kGearsInRenderer)) {
- if (!AddPolicyForGearsInRenderer(policy)) {
- NOTREACHED();
- return false;
- }
- }
-
- if (!AddDllEvictionPolicy(policy)) {
+ if (browser_command_line.HasSwitch(switches::kGearsInRenderer)) {
+ if (!AddPolicyForGearsInRenderer(policy)) {
NOTREACHED();
return false;
}
+ }
- result =
- broker_service->SpawnTarget(renderer_path.c_str(),
- cmd_line.command_line_string().c_str(),
- policy, &target);
- policy->Release();
+ if (!AddDllEvictionPolicy(policy)) {
+ NOTREACHED();
+ return false;
+ }
- if (desktop)
- CloseDesktop(desktop);
+ result =
+ broker_service->SpawnTarget(renderer_path.c_str(),
+ cmd_line.command_line_string().c_str(),
+ policy, &target);
+ policy->Release();
- if (sandbox::SBOX_ALL_OK != result)
- return false;
+ if (desktop)
+ CloseDesktop(desktop);
- bool on_sandbox_desktop = (desktop != NULL);
- NotificationService::current()->Notify(
- NotificationType::RENDERER_PROCESS_IN_SBOX,
- Source<BrowserRenderProcessHost>(this),
- Details<bool>(&on_sandbox_desktop));
+ if (sandbox::SBOX_ALL_OK != result)
+ return false;
- ResumeThread(target.hThread);
- CloseHandle(target.hThread);
- process_.set_handle(target.hProcess);
+ bool on_sandbox_desktop = (desktop != NULL);
+ NotificationService::current()->Notify(
+ NotificationType::RENDERER_PROCESS_IN_SBOX,
+ Source<BrowserRenderProcessHost>(this),
+ Details<bool>(&on_sandbox_desktop));
- // Help the process a little. It can't start the debugger by itself if
- // the process is in a sandbox.
- if (child_needs_help)
- DebugUtil::SpawnDebuggerOnProcess(target.dwProcessId);
- } else
+ ResumeThread(target.hThread);
+ CloseHandle(target.hThread);
+ process_.set_handle(target.hProcess);
+
+ // Help the process a little. It can't start the debugger by itself if
+ // the process is in a sandbox.
+ if (child_needs_help)
+ DebugUtil::SpawnDebuggerOnProcess(target.dwProcessId);
+ } else
#endif // OS_WIN and sandbox
- {
- // spawn child process
- base::ProcessHandle process = 0;
- if (!SpawnChild(cmd_line, channel_.get(), &process))
- return false;
- process_.set_handle(process);
- }
+ {
+ // spawn child process
+ base::ProcessHandle process = 0;
+ if (!SpawnChild(cmd_line, channel_.get(), &process))
+ return false;
+ process_.set_handle(process);
}
}
« no previous file with comments | « chrome/browser/renderer_host/browser_render_process_host.h ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698