test_content_client_initializer.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 "content/public/test/test_content_client_initializer.h"
6
7#include "content/browser/notification_service_impl.h"
8#include "content/public/common/content_client.h"
9#include "content/public/test/mock_render_process_host.h"
10#include "content/test/test_content_browser_client.h"
11#include "content/test/test_content_client.h"
12#include "content/test/test_render_view_host_factory.h"
13
14namespace content {
15
16TestContentClientInitializer::TestContentClientInitializer() {
17  notification_service_.reset(new NotificationServiceImpl());
18
19  DCHECK(!GetContentClient());
20  content_client_.reset(new TestContentClient);
21  SetContentClient(content_client_.get());
22
23  content_browser_client_.reset(new TestContentBrowserClient());
24  content_client_->set_browser_for_testing(content_browser_client_.get());
25}
26
27TestContentClientInitializer::~TestContentClientInitializer() {
28  test_render_view_host_factory_.reset();
29  rph_factory_.reset();
30  notification_service_.reset();
31
32  DCHECK_EQ(content_client_.get(), GetContentClient());
33  SetContentClient(NULL);
34  content_client_.reset();
35
36  content_browser_client_.reset();
37}
38
39void TestContentClientInitializer::CreateTestRenderViewHosts() {
40#if !defined(OS_IOS)
41  rph_factory_.reset(new MockRenderProcessHostFactory());
42  test_render_view_host_factory_.reset(
43      new TestRenderViewHostFactory(rph_factory_.get()));
44#endif  // OS_IOS
45}
46
47}  // namespace content
48