Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / browser / browser_plugin / browser_plugin_host_factory.h
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(
27       BrowserContext* context) = 0;
28
29   virtual BrowserPluginGuest* CreateBrowserPluginGuest(
30       int instance_id,
31       WebContentsImpl* web_contents) = 0;
32
33   virtual BrowserPluginEmbedder* CreateBrowserPluginEmbedder(
34       WebContentsImpl* web_contents) = 0;
35
36  protected:
37   virtual ~BrowserPluginHostFactory() {}
38 };
39
40 }  // namespace content
41
42 #endif  // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_HOST_FACTORY_H_