Home | History | Annotate | Download | only in base
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
      6 
      7 #include "chrome/browser/browser_process.h"
      8 #include "chrome/browser/signin/fake_signin_manager.h"
      9 #include "chrome/browser/signin/signin_manager_factory.h"
     10 #include "chrome/test/base/testing_profile.h"
     11 
     12 #if defined(USE_ASH)
     13 #include "ash/shell.h"
     14 #endif
     15 
     16 #if defined(USE_AURA)
     17 #include "ui/aura/env.h"
     18 #include "ui/aura/root_window.h"
     19 #endif
     20 
     21 using content::RenderViewHostTester;
     22 using content::RenderViewHostTestHarness;
     23 
     24 ChromeRenderViewHostTestHarness::ChromeRenderViewHostTestHarness() {
     25 }
     26 
     27 ChromeRenderViewHostTestHarness::~ChromeRenderViewHostTestHarness() {
     28 }
     29 
     30 TestingProfile* ChromeRenderViewHostTestHarness::profile() {
     31   return static_cast<TestingProfile*>(browser_context());
     32 }
     33 
     34 RenderViewHostTester* ChromeRenderViewHostTestHarness::rvh_tester() {
     35   return RenderViewHostTester::For(rvh());
     36 }
     37 
     38 static BrowserContextKeyedService* BuildSigninManagerFake(
     39     content::BrowserContext* context) {
     40   Profile* profile = static_cast<Profile*>(context);
     41 #if defined (OS_CHROMEOS)
     42   SigninManagerBase* signin = new SigninManagerBase();
     43   signin->Initialize(profile, NULL);
     44   return signin;
     45 #else
     46   FakeSigninManager* manager = new FakeSigninManager(profile);
     47   manager->Initialize(profile, g_browser_process->local_state());
     48   return manager;
     49 #endif
     50 }
     51 
     52 void ChromeRenderViewHostTestHarness::SetUp() {
     53   RenderViewHostTestHarness::SetUp();
     54   SigninManagerFactory::GetInstance()->SetTestingFactory(
     55           profile(), BuildSigninManagerFake);
     56 }
     57 
     58 void ChromeRenderViewHostTestHarness::TearDown() {
     59   RenderViewHostTestHarness::TearDown();
     60 #if defined(USE_ASH)
     61   ash::Shell::DeleteInstance();
     62 #endif
     63 #if defined(USE_AURA)
     64   aura::Env::DeleteInstance();
     65 #endif
     66 }
     67 
     68 content::BrowserContext*
     69 ChromeRenderViewHostTestHarness::CreateBrowserContext() {
     70   return new TestingProfile();
     71 }
     72