chrome_browser_pepper_host_factory.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 CHROME_BROWSER_RENDERER_HOST_PEPPER_CHROME_BROWSER_PEPPER_HOST_FACTORY_H_
6#define CHROME_BROWSER_RENDERER_HOST_PEPPER_CHROME_BROWSER_PEPPER_HOST_FACTORY_H_
7
8#include "base/compiler_specific.h"
9#include "ppapi/host/host_factory.h"
10
11namespace content {
12class BrowserPpapiHost;
13}  // namespace content
14
15namespace chrome {
16
17class ChromeBrowserPepperHostFactory : public ppapi::host::HostFactory {
18 public:
19  // Non-owning pointer to the filter must outlive this class.
20  explicit ChromeBrowserPepperHostFactory(content::BrowserPpapiHost* host);
21  virtual ~ChromeBrowserPepperHostFactory();
22
23  virtual scoped_ptr<ppapi::host::ResourceHost> CreateResourceHost(
24      ppapi::host::PpapiHost* host,
25      const ppapi::proxy::ResourceMessageCallParams& params,
26      PP_Instance instance,
27      const IPC::Message& message) OVERRIDE;
28
29 private:
30  // Non-owning pointer.
31  content::BrowserPpapiHost* host_;
32
33  DISALLOW_COPY_AND_ASSIGN(ChromeBrowserPepperHostFactory);
34};
35
36}  // namespace chrome
37
38#endif  // CHROME_BROWSER_RENDERER_HOST_PEPPER_CHROME_BROWSER_PEPPER_HOST_FACTORY_H_
39