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

Unified Diff: content/test/content_browser_test.cc

Issue 214823006: Move ContentBrowserTest class to content/public, since it's used by components_browsertests for bro… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: remove other files Created 6 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 | « content/test/content_browser_test.h ('k') | content/test/content_browser_test_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/test/content_browser_test.cc
===================================================================
--- content/test/content_browser_test.cc (revision 259922)
+++ content/test/content_browser_test.cc (working copy)
@@ -1,175 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/test/content_browser_test.h"
-
-#include "base/command_line.h"
-#include "base/files/file_path.h"
-#include "base/logging.h"
-#include "base/message_loop/message_loop.h"
-#include "base/path_service.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/common/content_paths.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/common/url_constants.h"
-#include "content/shell/browser/shell.h"
-#include "content/shell/browser/shell_browser_context.h"
-#include "content/shell/browser/shell_content_browser_client.h"
-#include "content/shell/common/shell_switches.h"
-#include "content/shell/renderer/shell_content_renderer_client.h"
-#include "content/test/test_content_client.h"
-#include "net/test/embedded_test_server/embedded_test_server.h"
-
-#if defined(OS_ANDROID)
-#include "content/shell/app/shell_main_delegate.h"
-#endif
-
-#if defined(OS_MACOSX)
-#include "base/mac/scoped_nsautorelease_pool.h"
-#endif
-
-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(USE_X11)
-#include "ui/base/ime/input_method_initializer.h"
-#endif
-
-namespace content {
-
-ContentBrowserTest::ContentBrowserTest()
- : setup_called_(false) {
-#if defined(OS_MACOSX)
- // See comment in InProcessBrowserTest::InProcessBrowserTest().
- base::FilePath content_shell_path;
- CHECK(PathService::Get(base::FILE_EXE, &content_shell_path));
- content_shell_path = content_shell_path.DirName();
- content_shell_path = content_shell_path.Append(
- FILE_PATH_LITERAL("Content Shell.app/Contents/MacOS/Content Shell"));
- CHECK(PathService::Override(base::FILE_EXE, content_shell_path));
-#endif
- base::FilePath content_test_data(FILE_PATH_LITERAL("content/test/data"));
- CreateTestServer(content_test_data);
- base::FilePath content_test_data_absolute;
- CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &content_test_data_absolute));
- content_test_data_absolute =
- content_test_data_absolute.Append(content_test_data);
- embedded_test_server()->ServeFilesFromDirectory(content_test_data_absolute);
-}
-
-ContentBrowserTest::~ContentBrowserTest() {
- CHECK(setup_called_) << "Overridden SetUp() did not call parent "
- "implementation, so test not run.";
-}
-
-void ContentBrowserTest::SetUp() {
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- command_line->AppendSwitch(switches::kContentBrowserTest);
-
- SetUpCommandLine(command_line);
-
-#if defined(OS_ANDROID)
- shell_main_delegate_.reset(new ShellMainDelegate);
- shell_main_delegate_->PreSandboxStartup();
- if (command_line->HasSwitch(switches::kSingleProcess)) {
- // We explicitly leak the new ContentRendererClient as we're
- // setting a global that may be used after ContentBrowserTest is
- // destroyed.
- ContentRendererClient* old_client =
- SetRendererClientForTesting(new ShellContentRendererClient());
- // No-one should have set this value before we did.
- DCHECK(!old_client);
- }
-#elif defined(OS_MACOSX)
- // See InProcessBrowserTest::PrepareTestCommandLine().
- base::FilePath subprocess_path;
- PathService::Get(base::FILE_EXE, &subprocess_path);
- subprocess_path = subprocess_path.DirName().DirName();
- DCHECK_EQ(subprocess_path.BaseName().value(), "Contents");
- subprocess_path = subprocess_path.Append(
- "Frameworks/Content Shell Helper.app/Contents/MacOS/Content Shell Helper");
- command_line->AppendSwitchPath(switches::kBrowserSubprocessPath,
- subprocess_path);
-#endif
-
- // LinuxInputMethodContextFactory has to be initialized.
-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(USE_X11)
- ui::InitializeInputMethodForTesting();
-#endif
-
- setup_called_ = true;
-
- BrowserTestBase::SetUp();
-}
-
-void ContentBrowserTest::TearDown() {
- BrowserTestBase::TearDown();
-
- // LinuxInputMethodContextFactory has to be shutdown.
-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(USE_X11)
- ui::ShutdownInputMethodForTesting();
-#endif
-
-#if defined(OS_ANDROID)
- shell_main_delegate_.reset();
-#endif
-}
-
-void ContentBrowserTest::RunTestOnMainThreadLoop() {
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDumpRenderTree)) {
- CHECK_EQ(Shell::windows().size(), 1u);
- shell_ = Shell::windows()[0];
- }
-
-#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.
- base::mac::ScopedNSAutoreleasePool pool;
-#endif
-
- // Pump startup related events.
- base::MessageLoopForUI::current()->RunUntilIdle();
-
-#if defined(OS_MACOSX)
- pool.Recycle();
-#endif
-
- SetUpOnMainThread();
-
- RunTestOnMainThread();
-
- TearDownOnMainThread();
-#if defined(OS_MACOSX)
- pool.Recycle();
-#endif
-
- for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
- !i.IsAtEnd(); i.Advance()) {
- i.GetCurrentValue()->FastShutdownIfPossible();
- }
-
- Shell::CloseAllWindows();
-}
-
-Shell* ContentBrowserTest::CreateBrowser() {
- return Shell::CreateNewWindow(
- ShellContentBrowserClient::Get()->browser_context(),
- GURL(kAboutBlankURL),
- NULL,
- MSG_ROUTING_NONE,
- gfx::Size());
-}
-
-Shell* ContentBrowserTest::CreateOffTheRecordBrowser() {
- return Shell::CreateNewWindow(
- ShellContentBrowserClient::Get()->off_the_record_browser_context(),
- GURL(kAboutBlankURL),
- NULL,
- MSG_ROUTING_NONE,
- gfx::Size());
-}
-
-} // namespace content
« no previous file with comments | « content/test/content_browser_test.h ('k') | content/test/content_browser_test_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698