Index: chrome/test/base/in_process_browser_test.cc |
=================================================================== |
--- chrome/test/base/in_process_browser_test.cc (revision 257432) |
+++ chrome/test/base/in_process_browser_test.cc (working copy) |
@@ -75,10 +75,6 @@ |
// Passed as value of kTestType. |
const char kBrowserTestType[] = "browser"; |
-// Used when running in single-process mode. |
-base::LazyInstance<ChromeContentRendererClient>::Leaky |
- g_chrome_content_renderer_client = LAZY_INSTANCE_INITIALIZER; |
- |
// A BrowserListObserver that makes sure that all browsers created are on the |
// |allowed_desktop_|. |
class SingleDesktopTestObserver : public chrome::BrowserListObserver, |
@@ -133,11 +129,17 @@ |
chrome_path = chrome_path.Append(chrome::kBrowserProcessExecutablePath); |
CHECK(PathService::Override(base::FILE_EXE, chrome_path)); |
#endif // defined(OS_MACOSX) |
+ |
CreateTestServer(base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); |
base::FilePath src_dir; |
CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)); |
- embedded_test_server()->ServeFilesFromDirectory( |
- src_dir.AppendASCII("chrome/test/data")); |
+ base::FilePath test_data_dir = src_dir.AppendASCII("chrome/test/data"); |
+ embedded_test_server()->ServeFilesFromDirectory(test_data_dir); |
+ |
+ // chrome::DIR_TEST_DATA isn't going to be setup until after we call |
+ // ContentMain. However that is after tests' constructors or SetUp methods, |
+ // which sometimes need it. So just override it. |
+ CHECK(PathService::Override(chrome::DIR_TEST_DATA, test_data_dir)); |
} |
InProcessBrowserTest::~InProcessBrowserTest() { |
@@ -162,13 +164,6 @@ |
ASSERT_TRUE(SetUpUserDataDirectory()) |
<< "Could not set up user data directory."; |
- // Single-process mode is not set in BrowserMain, so process it explicitly, |
- // and set up renderer. |
- if (command_line->HasSwitch(switches::kSingleProcess)) { |
- content::SetRendererClientForTesting( |
- g_chrome_content_renderer_client.Pointer()); |
- } |
- |
#if defined(OS_CHROMEOS) |
// Make sure that the log directory exists. |
base::FilePath log_dir = logging::GetSessionLogFile(*command_line).DirName(); |
@@ -176,15 +171,6 @@ |
#endif // defined(OS_CHROMEOS) |
#if defined(OS_MACOSX) |
- // On Mac, without the following autorelease pool, code which is directly |
- // executed (as opposed to executed inside a message loop) would autorelease |
- // objects into a higher-level pool. This pool is not recycled in-sync with |
- // the message loops' pools and causes problems with code relying on |
- // deallocation via an autorelease pool (such as browser window closure and |
- // browser shutdown). To avoid this, the following pool is recycled after each |
- // time code is directly executed. |
- autorelease_pool_ = new base::mac::ScopedNSAutoreleasePool; |
- |
// Always use the MockKeychain if OS encription is used (which is when |
// anything sensitive gets stored, including Cookies). Without this, |
// many tests will hang waiting for a user to approve KeyChain access. |
@@ -382,10 +368,6 @@ |
// Pump startup related events. |
content::RunAllPendingInMessageLoop(); |
-#if defined(OS_MACOSX) |
- autorelease_pool_->Recycle(); |
-#endif |
- |
chrome::HostDesktopType active_desktop = chrome::GetActiveDesktop(); |
// Self-adds/removes itself from the BrowserList observers. |
scoped_ptr<SingleDesktopTestObserver> single_desktop_test_observer; |
@@ -413,6 +395,17 @@ |
ASSERT_TRUE(storage_monitor::TestStorageMonitor::CreateForBrowserTests()); |
#endif |
+#if defined(OS_MACOSX) |
+ // On Mac, without the following autorelease pool, code which is directly |
+ // executed (as opposed to executed inside a message loop) would autorelease |
+ // objects into a higher-level pool. This pool is not recycled in-sync with |
+ // the message loops' pools and causes problems with code relying on |
+ // deallocation via an autorelease pool (such as browser window closure and |
+ // browser shutdown). To avoid this, the following pool is recycled after each |
+ // time code is directly executed. |
+ autorelease_pool_ = new base::mac::ScopedNSAutoreleasePool; |
+#endif |
+ |
// Pump any pending events that were created as a result of creating a |
// browser. |
content::RunAllPendingInMessageLoop(); |