Home | History | Annotate | Download | only in browser_plugin
      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_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_HOST_FACTORY_H_
      6 #define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_HOST_FACTORY_H_
      7 
      8 #include "base/base_export.h"
      9 #include "base/basictypes.h"
     10 #include "base/compiler_specific.h"
     11 #include "base/strings/string16.h"
     12 #include "content/common/content_export.h"
     13 
     14 struct BrowserPluginHostMsg_CreateGuest_Params;
     15 
     16 namespace content {
     17 
     18 class BrowserPluginEmbedder;
     19 class BrowserPluginGuest;
     20 class RenderViewHost;
     21 class WebContentsImpl;
     22 
     23 // Factory to create BrowserPlugin embedder and guest.
     24 class CONTENT_EXPORT BrowserPluginHostFactory {
     25  public:
     26   virtual BrowserPluginGuestManager* CreateBrowserPluginGuestManager() = 0;
     27 
     28   virtual BrowserPluginGuest* CreateBrowserPluginGuest(
     29       int instance_id,
     30       WebContentsImpl* web_contents) = 0;
     31 
     32   virtual BrowserPluginEmbedder* CreateBrowserPluginEmbedder(
     33       WebContentsImpl* web_contents) = 0;
     34 
     35  protected:
     36   virtual ~BrowserPluginHostFactory() {}
     37 };
     38 
     39 }  // namespace content
     40 
     41 #endif  // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_HOST_FACTORY_H_
     42