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/test/test_render_view_host_factory.h"
6
7#include "content/browser/site_instance_impl.h"
8#include "content/public/browser/render_process_host_factory.h"
9#include "content/test/test_render_view_host.h"
10
11namespace content {
12
13TestRenderViewHostFactory::TestRenderViewHostFactory(
14    RenderProcessHostFactory* rph_factory) {
15  SiteInstanceImpl::set_render_process_host_factory(rph_factory);
16  RenderViewHostFactory::RegisterFactory(this);
17}
18
19TestRenderViewHostFactory::~TestRenderViewHostFactory() {
20  RenderViewHostFactory::UnregisterFactory();
21  SiteInstanceImpl::set_render_process_host_factory(NULL);
22}
23
24void TestRenderViewHostFactory::set_render_process_host_factory(
25    RenderProcessHostFactory* rph_factory) {
26  SiteInstanceImpl::set_render_process_host_factory(rph_factory);
27}
28
29RenderViewHost* TestRenderViewHostFactory::CreateRenderViewHost(
30    SiteInstance* instance,
31    RenderViewHostDelegate* delegate,
32    RenderWidgetHostDelegate* widget_delegate,
33    int routing_id,
34    int main_frame_routing_id,
35    bool swapped_out) {
36  return new TestRenderViewHost(
37      instance, delegate, widget_delegate, routing_id, main_frame_routing_id,
38      swapped_out);
39}
40
41}  // namespace content
42