Chromium Code Reviews| Index: content/test/content_browser_test.cc |
| diff --git a/content/test/content_browser_test.cc b/content/test/content_browser_test.cc |
| index a1644503a4f373c280f185a5802c8dcf76f6b9dc..cb4a713626249da3adb59ae8ac00cf21e5c22d00 100644 |
| --- a/content/test/content_browser_test.cc |
| +++ b/content/test/content_browser_test.cc |
| @@ -55,8 +55,6 @@ ContentBrowserTest::~ContentBrowserTest() { |
| } |
| void ContentBrowserTest::SetUp() { |
| - setup_called_ = true; |
| - |
| shell_main_delegate_.reset(new ShellMainDelegate); |
| shell_main_delegate_->PreSandboxStartup(); |
| @@ -65,12 +63,12 @@ void ContentBrowserTest::SetUp() { |
| SetUpCommandLine(command_line); |
| - // Single-process mode is not set in BrowserMain, so process it explicitly, |
| - // and set up renderer. |
| - if (command_line->HasSwitch(switches::kSingleProcess)) { |
| - single_process_renderer_client_.reset(new ShellContentRendererClient); |
| - SetRendererClientForTesting(single_process_renderer_client_.get()); |
| - } |
| + // Single-process mode is not set in BrowserMain, so if a subclass hasn't |
| + // modified it yet, process it explicitly, and set up renderer. |
| + if (!single_process_renderer_client_.get() && |
| + command_line->HasSwitch(switches::kSingleProcess)) |
| + SetContentRendererClient( |
| + scoped_ptr<ContentRendererClient>(new ShellContentRendererClient)); |
|
mmenke
2014/01/29 16:14:35
optional: I prefer keeping initialization order c
Randy Smith (Not in Mondays)
2014/01/29 21:14:11
Done with some extra DHCECKs for paranoia.
|
| #if defined(OS_MACOSX) |
| // See InProcessBrowserTest::PrepareTestCommandLine(). |
| @@ -89,6 +87,8 @@ void ContentBrowserTest::SetUp() { |
| ui::InitializeInputMethodForTesting(); |
| #endif |
| + setup_called_ = true; |
| + |
| BrowserTestBase::SetUp(); |
| } |
| @@ -144,6 +144,13 @@ void ContentBrowserTest::RunTestOnMainThreadLoop() { |
| Shell::CloseAllWindows(); |
| } |
| +void ContentBrowserTest::SetContentRendererClient( |
| + scoped_ptr<ContentRendererClient> renderer_client) { |
| + DCHECK(!setup_called_); |
| + single_process_renderer_client_ = renderer_client.Pass(); |
| + SetRendererClientForTesting(single_process_renderer_client_.get()); |
| +} |
| + |
| Shell* ContentBrowserTest::CreateBrowser() { |
| return Shell::CreateNewWindow( |
| ShellContentBrowserClient::Get()->browser_context(), |