Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / test / base / chrome_render_view_host_test_harness.cc
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/chrome_signin_client_factory.h"
9 #include "chrome/browser/signin/fake_signin_manager.h"
10 #include "chrome/browser/signin/signin_manager_factory.h"
11 #include "chrome/test/base/testing_profile.h"
12
13 #if defined(USE_ASH)
14 #include "ash/shell.h"
15 #endif
16
17 #if defined(USE_AURA)
18 #include "ui/aura/env.h"
19 #include "ui/aura/window_event_dispatcher.h"
20 #endif
21
22 using content::RenderViewHostTester;
23 using content::RenderViewHostTestHarness;
24
25 ChromeRenderViewHostTestHarness::ChromeRenderViewHostTestHarness() {
26 }
27
28 ChromeRenderViewHostTestHarness::~ChromeRenderViewHostTestHarness() {
29 }
30
31 TestingProfile* ChromeRenderViewHostTestHarness::profile() {
32   return static_cast<TestingProfile*>(browser_context());
33 }
34
35 RenderViewHostTester* ChromeRenderViewHostTestHarness::rvh_tester() {
36   return RenderViewHostTester::For(rvh());
37 }
38
39 static KeyedService* BuildSigninManagerFake(content::BrowserContext* context) {
40   Profile* profile = static_cast<Profile*>(context);
41 #if defined (OS_CHROMEOS)
42   SigninManagerBase* signin = new SigninManagerBase(
43       ChromeSigninClientFactory::GetInstance()->GetForProfile(profile));
44   signin->Initialize(NULL);
45   return signin;
46 #else
47   FakeSigninManager* manager = new FakeSigninManager(profile);
48   manager->Initialize(g_browser_process->local_state());
49   return manager;
50 #endif
51 }
52
53 void ChromeRenderViewHostTestHarness::TearDown() {
54   RenderViewHostTestHarness::TearDown();
55 #if defined(USE_ASH)
56   ash::Shell::DeleteInstance();
57 #endif
58 #if defined(USE_AURA)
59   aura::Env::DeleteInstance();
60 #endif
61 }
62
63 content::BrowserContext*
64 ChromeRenderViewHostTestHarness::CreateBrowserContext() {
65   TestingProfile::Builder builder;
66   builder.AddTestingFactory(SigninManagerFactory::GetInstance(),
67                             BuildSigninManagerFake);
68   return builder.Build().release();
69 }