| 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..38816138463f02dcfd71fa0dcf5ee7919112c17e 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,11 +63,16 @@ void ContentBrowserTest::SetUp() {
|
|
|
| SetUpCommandLine(command_line);
|
|
|
| - // Single-process mode is not set in BrowserMain, so process it explicitly,
|
| - // and set up renderer.
|
| + // 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 (command_line->HasSwitch(switches::kSingleProcess)) {
|
| - single_process_renderer_client_.reset(new ShellContentRendererClient);
|
| + if (!single_process_renderer_client_)
|
| + single_process_renderer_client_.reset(new ShellContentRendererClient());
|
| SetRendererClientForTesting(single_process_renderer_client_.get());
|
| + } else {
|
| + // Confirm no test has called SetContentRendererClient() without
|
| + // setting up single process mode.
|
| + DCHECK(!single_process_renderer_client_);
|
| }
|
|
|
| #if defined(OS_MACOSX)
|
| @@ -89,6 +92,8 @@ void ContentBrowserTest::SetUp() {
|
| ui::InitializeInputMethodForTesting();
|
| #endif
|
|
|
| + setup_called_ = true;
|
| +
|
| BrowserTestBase::SetUp();
|
| }
|
|
|
| @@ -144,6 +149,14 @@ void ContentBrowserTest::RunTestOnMainThreadLoop() {
|
| Shell::CloseAllWindows();
|
| }
|
|
|
| +void ContentBrowserTest::SetContentRendererClient(
|
| + scoped_ptr<ContentRendererClient> renderer_client) {
|
| + // This routine must be called before SetUp().
|
| + DCHECK(!setup_called_);
|
| + DCHECK(!single_process_renderer_client_);
|
| + single_process_renderer_client_ = renderer_client.Pass();
|
| +}
|
| +
|
| Shell* ContentBrowserTest::CreateBrowser() {
|
| return Shell::CreateNewWindow(
|
| ShellContentBrowserClient::Get()->browser_context(),
|
|
|