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.
5 #ifndef CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_
6 #define CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "content/browser/renderer_host/render_view_host_factory.h"
15 class RenderViewHostDelegate
;
16 class RenderProcessHostFactory
;
17 class SessionStorageNamespace
;
19 // Manages creation of the RenderViewHosts using our special subclass. This
20 // automatically registers itself when it goes in scope, and unregisters itself
21 // when it goes out of scope. Since you can't have more than one factory
22 // registered at a time, you can only have one of these objects at a time.
23 class TestRenderViewHostFactory
: public RenderViewHostFactory
{
25 explicit TestRenderViewHostFactory(RenderProcessHostFactory
* rph_factory
);
26 virtual ~TestRenderViewHostFactory();
28 virtual void set_render_process_host_factory(
29 RenderProcessHostFactory
* rph_factory
);
30 virtual RenderViewHost
* CreateRenderViewHost(
31 SiteInstance
* instance
,
32 RenderViewHostDelegate
* delegate
,
33 RenderWidgetHostDelegate
* widget_delegate
,
35 int main_frame_routing_id
,
36 bool swapped_out
) OVERRIDE
;
39 DISALLOW_COPY_AND_ASSIGN(TestRenderViewHostFactory
);
42 } // namespace content
44 #endif // CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_