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_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 6 #define CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 7 8 #include "base/compiler_specific.h" 9 #include "ppapi/host/host_factory.h" 10 #include "ppapi/shared_impl/ppapi_permissions.h" 11 12 namespace ppapi { 13 class PpapiPermissions; 14 } 15 16 namespace content { 17 class PepperInstanceStateAccessor; 18 class RendererPpapiHostImpl; 19 class RenderViewImpl; 20 21 class ContentRendererPepperHostFactory : public ppapi::host::HostFactory { 22 public: 23 explicit ContentRendererPepperHostFactory( 24 RendererPpapiHostImpl* host); 25 virtual ~ContentRendererPepperHostFactory(); 26 27 virtual scoped_ptr<ppapi::host::ResourceHost> CreateResourceHost( 28 ppapi::host::PpapiHost* host, 29 const ppapi::proxy::ResourceMessageCallParams& params, 30 PP_Instance instance, 31 const IPC::Message& message) OVERRIDE; 32 33 private: 34 const ppapi::PpapiPermissions& GetPermissions() const; 35 36 // Non-owning pointer. 37 RendererPpapiHostImpl* host_; 38 39 DISALLOW_COPY_AND_ASSIGN(ContentRendererPepperHostFactory); 40 }; 41 42 } // namespace content 43 44 #endif // CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 45