Home | History | Annotate | Download | only in test
      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 #ifndef CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_
      6 #define CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/compiler_specific.h"
     10 #include "content/browser/renderer_host/render_view_host_factory.h"
     11 
     12 namespace content {
     13 
     14 class SiteInstance;
     15 class RenderViewHostDelegate;
     16 class RenderProcessHostFactory;
     17 class SessionStorageNamespace;
     18 
     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 {
     24  public:
     25   explicit TestRenderViewHostFactory(RenderProcessHostFactory* rph_factory);
     26   virtual ~TestRenderViewHostFactory();
     27 
     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,
     34       int routing_id,
     35       int main_frame_routing_id,
     36       bool swapped_out) OVERRIDE;
     37 
     38  private:
     39   DISALLOW_COPY_AND_ASSIGN(TestRenderViewHostFactory);
     40 };
     41 
     42 }  // namespace content
     43 
     44 #endif  // CONTENT_TEST_TEST_RENDER_VIEW_HOST_FACTORY_H_
     45